首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

讯息系统Kafka介绍

2013-07-08 
消息系统Kafka介绍本文链接:kafka是显式分布式架构,producer、broker(Kafka)和consumer都可以有多个。Kafka

消息系统Kafka介绍

本文链接:

kafka是显式分布式架构,producer、broker(Kafka)和consumer都可以有多个。Kafka的作用类似于缓存,即活跃的数据和离线处理系统之间的缓存。几个基本概念:

(1)message(消息)是通信的基本单位,每个producer可以向一个topic(主题)发布一些消息。如果consumer订阅了这个主题,那么新发布的消息就会广播给这些consumer。

(2)Kafka是显式分布式的,多个producer、consumer和broker可以运行在一个大的集群上,作为一个逻辑整体对外提供服务。对于consumer,多个consumer可以组成一个group,这个message只能传输给某个group中的某一个consumer.

4、? KafKa关键技术点

(1)? zero-copy

在Kafka上,有两个原因可能导致低效:1)太多的网络请求 2)过多的字节拷贝。为了提高效率,Kafka把message分成一组一组的,每次请求会把一组message发给相应的consumer。 此外, 为了减少字节拷贝,采用了sendfile系统调用。为了理解sendfile原理,先说一下传统的利用socket发送文件要进行拷贝:

讯息系统Kafka介绍

Sendfile系统调用:

讯息系统Kafka介绍

(2)

    127.0.0.1:2181”);??
    1. 4));??List<KafkaMessageStream<Message>>?streams?=?topicMessageStreams.get(4);????
    2. //?consume?the?messages?in?the?threads??for(final?KafkaMessageStream<Message>?stream:?streams)?{??
    3. ??executor.submit(new?Runnable()?{??????public?void?run()?{??
    4. ??????for(Message?message:?stream)?{??????????//?process?message??
    5. ??????}???????}??
    6. ??});??}??

    ?