消息中间件
2018-07-01 本文已影响0人
ZzGo12
使用中间件前的系统之间调用关系
异步解耦合
中间件概述
消息中间件
图示
JMS
JMS 和 AMQP
KAFKA
JMS编码接口1
JMS编码接口2
JMS编码和接口规范
异步解耦合
原本可能是 登录后,你需要若干操作, 那么你就一样一样做, 做完之后才返回登录成功。(阻塞,高耦合)
而后来, 你把信息发送到一个中间件, 其它服务来接收中间件信息, 你登录后再慢慢做那些事情(非阻塞,解耦合)
中间件概述
消息中间件
图示
JMS
JMS 和 AMQP
KAFKA
JMS编码接口1
JMS编码接口2
JMS编码和接口规范
-
队列模式: 生产者不断向中间件中添加消息, 消费者从队列中逐个获取消息进行消费(只能有一个消费者获取到消息)
-
主题模式: 生产者不断向中间件中添加消息, 消费者从主题中逐个获取消息进行消费(先订阅了才能获取,且每个消费者都能获取到)
- 集群的意义
- 集群方式
-
Master/Slave
(每个Node对应自己的存储地址,zookeeper选举一个为Master, 其它为Slave。只有一个Master能被访问,当Master收到信息后,通过Zookeeper把信息同步给NodeB和NodeC。当一个挂掉后,选举其它的为Master)
-
分布式系统应用消息中间件
(各个系统之间通过主题方式来消费别的系统的信息, 而一个系统的集群又通过队列来消费信息。)
- 实际业务场景需求
- Kafka