消息中间件

1、为什么使用消息中间件?

异步、削峰、解耦

2、消息中间件选型?

ActiveMQ、RabbitMQ、RocketMQ、Kafka

3、引入消息中间件后,存在哪些问题?

增加系统复杂性、数据一致性、系统可用性

4、使用消息中间后,存在消息重复消费、消息丢失、顺序消费,怎么解决?

4、使用消息中间件,怎么避免重复消费?

保证消费逻辑的幂等性

5、怎么保证幂等性?

基于数据库数据插入、基于数据库条件更新、基于Redis的Key是否存在

三种方式,根据业务的幂等性要求,选择使用数据通过事务来控制、或者直接使用Redis缓存来控制

 

你可能感兴趣的:(Java基础)