- Apache Kafka是一款开源的 消息引擎系统
- 消息队列:给人某种暗示,仿佛Kafka是利用 队列 实现的
- 消息中间件:过度强调中间件,而不能清晰地表达实际解决的问题
解决的问题
- 系统A发送消息给消息引擎系统,系统B从消息引擎系统中读取A发送的消息
- 消息引擎传输的对象是消息
- 如何传输消息属于消息引擎设计机制的一部分
消息格式
- 成熟解决方案:CSV、XML、JSON
- 序列化框架:Google Protocol Buffer、Facebook Thrift
- Kafka:纯二进制的字节序列
消息引擎模型
-
点对点模型
- 即消息队列模型,系统A发送的消息只能被系统B接收,其他任何系统不能读取A发送的消息
-
发布订阅模型
- 主题(Topic)、发布者(Publisher)、订阅者(Subscriber)
- 多个发布者可以向相同的主题发送消息,多个订阅者可以接收相同主题的消息
- Kafka同时支持上面两种消息引擎模型
JMS
- JMS:Java Message Service
- JMS也支持上面的两种消息引擎模型
- JMS并非传输协议,而是一组API
-
JMS非常出名,很多主流的消息引擎系统都支持JMS规范
- ActiveMQ、RabbitMQ、IBM WebSphere MQ、Apache Kafka(并未完全遵照)
优点
- 削峰填谷
- 解耦
以上所述就是小编给大家介绍的《Kafka -- 消息引擎系统》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Deepstream 4.0 发布,数据同步和消息传递引擎
- EMQ X 规则引擎系列(十二):存储消息到 Redis
- 到达率 99.9%:闲鱼消息在高速上换引擎(集大成)
- 消息队列面试连环问:如何保证消息不丢失?处理重复消息?消息有序性?消息堆积处理?
- 消息队列(三)常见消息队列介绍
- 消息队列(七)RocketMQ消息发送
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。