从品牌网站建设到网络营销策划,从策略到执行的一站式服务
民丰网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。成都创新互联于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
Apache顶级项目介绍系列-1,我们从Kafka说起。why?流行 + 名字cool。
Kafka官网是见过比较简单,直叙的网站,“kafka是一个高吞吐的分布式的消息系统”。 Kafka最初起家于LinkedIn,当时原本作为linkedin用来管理活动流(PV,用户行为分析,搜索情况)和运营数据处理的pipline的基础。
因为其分布式以及高吞吐被广泛使用,如与Cloudera, Hadoop, Storm, Spark etc.
kafka首先作为一个消息系统,提供了基本功能,如解耦,顺序性,异步性等。同时优质的设计理念支撑高吞吐,提供O(1)时间负责度持久化能力,数据级别达到TB/PB以上,支持离线与实时处理,即与hadoop,storm对接,支持水平scale out。
架构图:
可以看到,kafka是一个分布式架构设计(当然DT时代,不支持水平scale out无法生存), 前段producer并发(支持批量)push消息到kafka特定topic集群服务器broker,每个topic又包含多个partition便于水平扩展,消费者consumer通过consumer group向broker服务器pull获取消息。kafka通过zk管理集群配置,选举leader,以及rebalance。消息模式为push/pull。
我们来建一个kafka集群服务:
通过zk发送,消费消息:
用java来生产/消费消息:
比较直白,这里注意可以批量发送消息,不是所有消息中间件可以批量发送的,批量发送是高吞吐原因之一。
这里使用stream流来消费payload,消息流迭代器用不停止,类似监听消息一样。
kafka之所以高效或者其创新点:
消息删除管理 通常消息中间件会消费一个消息,删除一个消息,这使得消息的使用代价非常高额。而kafka使用无状态管理,引入消息偏移量,消息基于时间的SLA应用保留策略,当消息超过一定时间后才被删除,这样按照官网的说法,消费Kafka消息就是非常轻量级:come and go. 听起来像外卖一样,take and go. 甚至,由于引入偏移量,消费者可以随意获取任意位置消息,包括重新获取已经消费过的消息。
2. Kafka利用linux sendfile从linux kernel复制文件
3.kafka引入zk,管理分布式协调,HA,容错。zk用来管理kafaka代理broker,当kafka新增或者某代理失效,zk服务将通知生产者与消费者。
4. 生产者性能,消息结构优化大小以及批量发送
5. 消费这性能:消息结构优化以及无状态引入便宜量,无需为何b+树索引。
总体来说kafka表现异常突出,不失为通常消息中间件的代替品,如果管理hadoop,stream更是首推。另外如果处理网站日志,用户使用行为分析,或者离线处理log等都是不二之选。
好了,先到这里了,起个大早来写东西,果然不靠谱,时间紧任务重啊。望大家包涵,有些图借用自网络。
公众号:技术极客TechBooster
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图