01消息引擎系统

分享:  

apache kafka是什么呢?

  • 消息引擎系统(messaging systems)🆗 这种描述更加准确!
  • 消息队列(是用队列实现的?not accurately)
  • 消息中间件(messaging middleware)

类似地,比如consensus algorithm,翻译成共识算法,比一致性算法更合适,一致性已经被用的泛滥了。

消息编码方式:

  • 消息编码格式,csv、xml、json、pb、thrift;
  • kafka使用的是纯二进制的字节序列;

消息传输方式:

  • 点对点,系统a发送的消息只能被b接受,其他人都不能接收;
  • 发布订阅,可以有多个发送方(发布者,可能有多个),接收方(订阅方,可能有多个),这种能够实现非常灵活的系统扩展;

JMS:严格来说,是一种规范,而不是一种实现。

消息引擎的作用:

  • 削峰填谷,避免生产者发送过量消息冲垮下游,使得下游能够平滑处理大量请求;

    为什么不对上游进行限速?限制后影响到用户体验怎么办?不现实!

  • 解耦,解耦生产者和消费者,容易实现灵活的扩展;

    比如量大了之后,加更多的消费者来提高处理效率就行了嘛,加的慢也没影响,不会直接对用户体验造成影响。