01消息引擎系统
Posted 2021-04-26 01:30 +0800 by ZhangJie ‐ 1 min read
分享:
apache kafka是什么呢?
- 消息引擎系统(messaging systems)🆗 这种描述更加准确!
- 消息队列(是用队列实现的?not accurately)
- 消息中间件(messaging middleware)
类似地,比如consensus algorithm,翻译成共识算法,比一致性算法更合适,一致性已经被用的泛滥了。
消息编码方式:
- 消息编码格式,csv、xml、json、pb、thrift;
- kafka使用的是纯二进制的字节序列;
消息传输方式:
- 点对点,系统a发送的消息只能被b接受,其他人都不能接收;
- 发布订阅,可以有多个发送方(发布者,可能有多个),接收方(订阅方,可能有多个),这种能够实现非常灵活的系统扩展;
JMS:严格来说,是一种规范,而不是一种实现。
消息引擎的作用:
削峰填谷,避免生产者发送过量消息冲垮下游,使得下游能够平滑处理大量请求;
为什么不对上游进行限速?限制后影响到用户体验怎么办?不现实!
解耦,解耦生产者和消费者,容易实现灵活的扩展;
比如量大了之后,加更多的消费者来提高处理效率就行了嘛,加的慢也没影响,不会直接对用户体验造成影响。