推外网络专注营销型网站品牌策划与推广

FOCUS MARKETING WEBSITE BRAND PLANNING AND MARKETING PROMOTION

浅谈Kafka

2019-09-28 14:01:53 100000+ 编辑:推外网络 来源:本站原创
随着互联网行业快速发展,微服务,分布式占据了现在互联网行业的主流市场,因为可以解决大数据并发,业务分离,提高程序性能,利于系统优化和代码规划。随着业务的不断扩展,我们会遇到很常见的一些场景,比如第三方系统的对接,比如内部微服务系统之间的对接,这就用到了远程通信技术。

远程通信技术常用的有RPC、RMI、ESB、SOAP、EJB、WebService和JMS等。

在现今互联网行业中,由于JMS使得开发包括网络分布式多程序的应用程序更加便捷容易。在互联网大数据的时代,JMS的应用已经越来越广。JMS可以为通信程序之间传输数据,跨语言跨平台也是JMS的一大优点。

JMS(JavaMessageService)是用于提供消息服务的规范,制定了消息提供过程数据的结构和交互。而MQ(MessageQueue)是消息队列服务,面向消息中间件MOM(MessageOrientedMiddleware)的实现,也是服务提供者。而Kafka则为MQ中比较常用的一种JMS系统。它支持分区(Partition),多副本(Replica)同时基于Zookeeper协调的高吞吐量分布式发布订阅消息系统,也是一个开源流处理平台。

Kafka架构核心和其他MQ大体相似,主要包括:话题(topic)、生产者(producer)、代理(broker)、消费者(consumer)。

Kafka同时具有以下几点特性:

1)高吞吐量:Kafka每秒可以处理几十万消息。

2)低延迟:Kafka的延迟最低只有几毫秒。

3)分区,多副本:每个topic可以分为多个分区,设置多个group来对分区进行消费。

4)可扩展性:Kafka集群支持热扩展。

5)持久性:消息被持久化到本地磁盘。

6)安全性:支持数据备份防止数据丢失。

7)容错性:允许集群中节点失败,一般允许(副本量-1)个节点失败。

8)高并发:支持千个客户端同时读写。

Kafka的特性决定了在JMS中一个重要的地位,相比于ActiveMQ和RabbitMQ,Kafka高吞吐量占了绝大的优势,同时Kafka支持动态扩容。在现今的互联网大数据时代,消息的处理速度越快,对系统性能支持的就更好,同时对用户体验也会造成好的影响,大数据时代,比拼的依旧是速度,安全,高效,性能。Kafka每秒几十万消息的处理速度占据当前MQ消息队列中几乎霸主的地位,同时MQ的ACK机制也可以确保数据可以进行重新处理等措施,也同样起到了安全的作用。

现今的时代,Kafka的应用越来越广泛,不同的Group可以从最初偏移量(Offset)进行重新读取消息再处理,也是独有的一大特点。


本站文章均为推外网络摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...