引用
- 《分布式消息中间件实践》
整理
1.什么是kafa?(P148)
分布式发布/订阅消息系统。是apache顶级项目。具有以下特点:分布式、消息持久化,同时为发布和订阅提供高吞吐量,支持离线和实时的数据处理,消费消息采用拉取的模式。
2.为什么要使用消息队列?或者说可以解决那些问题?(P2)
突发流量的流量削峰:对于流量突发的状况 一般不会多见,业内常用的解决方案是 消息队列。先将短时间内高并发的请求持久化,然后逐步处理,从而削平高峰期的并发流量。------------是不是也是健壮性呢?
解耦和扩展性:随着系统的不断扩大,各模块之间可能会逐渐变成互换调用的关系;消息队列可以作为模块间的中间层 来解耦重要的业务流程。
异步通信、日志收集。防止因为日志的写入,导致线程阻塞、请求延迟等,相当于异步记录日志。
事务的最终一致性。使用事件表和消息队列,可以实现分布式事务的方案
3.broker是什么
kafka集群中的一台或多台服务器,是消息的代理。生产者往brokers中指定topic中写消息;消费者拉取指定topic的消息,brokers在中间起到了代理保存消息的中间站。
为什么要用kafka,不用MQ?