1.Topic 主题
- kafka 消息组用来实现不同业务的广播。
- 一个分区只能分配给一个消费组内的一个消费者--保证消费顺序。
kafka学习了数据库里面的设计,在里面设计了topic(主题),这个东西类似于关系型数据库的表
此时我需要获取中国移动的数据,那就直接监听TopicA即可。
Topic和partition像是HBASE里的table和region的概念,table只是一个逻辑上的概念,真正存储数据的是region,这些region会分布式地存储在各个服务器上面,对应于kafka,也是一样,Topic也是逻辑概念,而partition就是分布式存储单元。
分区可以使大文件可以分散存储在不同的服务器上。
Kafka是一个消息系统,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。活动流数据是几乎所有站点在对其网站使用情况做报表时都要用到的数据中最常规的部分。活动数据包括页面访问量(Page View)、被查看内容方面的信息以及搜索情况等内容。这种数据通常的处理方式是先把各种活动以日志的形式写入某种文件,然后周期性地对这些文件进行统计分析。运营数据指的3是服务器的性能数据(CPU、IO使用率、请求时间、服务日志等等数据)。运营数据的统计方法种类繁多。
2.kafka和rabbitmq 的区别
一、语言不同
RabbitMQ是由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。
kafka是采用Scala语言开发,它主要用于处理活跃的流式数据,大数据量的数据处理上。如:用户行为统计。
二、结构不同
三、Brokerr与Consume交互方式不同
五、使用场景
rabbitMQ支持对消息的可靠的传递,支持事务,不支持批量的操作;基于存储的可靠性的要求存储可以采用内存或者硬盘。
金融场景中经常使用kafka具有高的吞吐量,内部采用消息的批量处理,zero-copy机制,数据的存储和获取是本地磁盘顺序批量操作,具有O(1)的复杂度(与分区上的存储大小无关),消息处理的效率很高。(大数据)