消息中间件
中间件
非底层操作系统软件, 非业务应用软件,不是直接给最终用户使用,不能给客户带来价值的软件统称。
消息中间件
数据的接受和发送,利于高效可靠的异步消息传递机制集成分布式系统;
JMS,
AMQP协议
即Advanced Message Queuing Protocol,高级消息队列协议
RocketMQ
需要解决的问题
不同业务系统分别处理同一个消息,同一个业务系统负载处理同类消息;
解决消息发送时的一致性问题
解决消息处理时的幂等性问题
基于消息机制建立事件总线
解决各业务系统集群处理同一条消息
kafka使用group.id分组消费者
配置消息者参数,group.id相同时对消息进行负载处理
配置服务器partitions参数,控制同一个group.id下的consumer数量小于partitions
kafak只保证同一个partition下的消息是有序的(本质上是日志系统)
实现自己的消息提供者
解耦,异步,横向扩展,安全可靠,顺序保证(kafka)