Apache Kafka 源码剖析
Getting Start 下载 http://kafka.apache.org/ 优点和应用场景 Kafka消息驱动,符合发布-订阅模式,优点和应用范围都共通 发布-订阅模式优点 解耦合 : 两个应用不需要相互调用 可扩展性 : 消费者的个数可实时扩展 实时性 : 消费者能实时的获取生产者发布的事件 高效 :减少由于多个消费者请求数据造成的数据计算带来的资源消耗 异步通讯 :发布-订阅模式是天生的异步通讯 Kafka其他优点 持久化 : 消息丢失的可控性极高 高性能 : 磁盘顺序读写性能比内存随机读写还高,每秒10万条消息 高吞吐量 :每秒上百MB的吞吐量 顺序性 发布-订阅模式应用范围 适合数据一被生产,就需要被处理的情况 适合数据具有潜在消费者的情况 适合无论有没有消费者,数据都在生产的情况 不适合对数据的处理时间有特殊限定的情况 应用场景 最为消息中间件,实现消息队列和消息的发布-订阅,消息驱动的服务 数据总线,一对多的模式 日志收集,消息中间件的一种应用 数据库主从同步 核心概念 Broker 一个Kafka server就是一个Broker 一般情况下,一个Broker独占一台服务器,发挥微服务的优势 服务器资源有限的情况下,需要设计出Broker/Topic/Partition/Replica的最优分配策略,从而充分利用服务器资源 一个broker可以有多个topic