深入了解Apache Kafka:分布式发布-订阅消息系统的架构与优势,武汉微信公众号营销推广
#网络推广 发布时间: 2025-03-04
一、简介Kafka 是一种快速的、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。
几种分布式系统消息系统的对比:
推荐相关文章:有关于各种消息队列的对比,还有对 Kafka 的深度解析,这是众人都推荐的精彩好文!
二、Kafka基本架构
它的架构包括以下组件:
话题是特定类型的消息流。消息是以字节为形式的有效负载,而话题则是消息的分类名或者种子名。
2、生产者():是能够发布消息到话题的任何对象;
服务代理:已发布的消息被保存在一组服务器里,这些服务器被称作代理或者 Kafka 集群。
消费者能够订阅一个或者多个话题,然后从拉数据,以此来消费这些已经发布的消息。
从上图中能够看出,生产者会把数据发送给代理,而代理拥有多个话题,即 topic,消费者会从代理那里获取数据。
三、基本原理
我们把消息的发布叫做[某种称呼],把消息的订阅表述为[另一种表述],把中间的存储阵列称作(代理),如此便能大致描绘出这样一个场面:
生产者把数据生产出来,接着把它交给某一方进行存储。当消费者需要消费数据时,就从存储之处拿出数据,之后完成一系列针对数据的处理操作。
乍一看,它似乎太简单了。不是已经说了它是分布式的吗?难道仅仅把、和放在三台不同的机器上就算是分布式了吗?看 kafka 官方给出的图:
多个部分协同合作,它们在各个业务逻辑中被频繁调用。这三者通过管理协调请求和转发来实现功能。如此一来,一个高性能的分布式消息发布订阅系统便完成了。
图上有个细节需留意,从一处到另一处的过程是 push,意味着有数据就会推送到目的地;从一处到另一处的过程是 pull,是通过特定方式主动去拉数据,而非将数据主动发送到另一端。
四、在kafka的作用
上述,提到了,那么在kafka的作用是什么?
kafka 集群依赖于某些东西来保证系统可用性,同时集群也保存一些 meta 信息。
Kafka 以其分布式协调框架而被使用,它能很好地把消息生产、消息存储以及消息消费的过程整合在一起。
同时借助 kafka,生产者、消费者以及包括在内的所有组件在无状态的情况下,可以建立起生产者和消费者的订阅关系,并且能够实现生产者与消费者的负载均衡。
五、执行流程
首先看一下如下的过程:
我们来看上面的图,将 的数量进行减少,只剩下一台。现在假定我们依据上图来进行部署:
其实就是 kafka 相关的。因为某些东西和某些东西都需要去归还它。它主要还是用于存储。
-2 是某一端,它维持着一张表,此表记录了各个节点的 IP 以及端口等信息。
3、4、5 他们的共同之处在于都进行了配置。更确切地说,就是在运行前必须配置相关的地址。道理其实很简单,因为它们之间的连接都需要通过某种方式来进行分发。
-1 和 -2 的关系是,它们既可以放置在一台机器上,也可以分别放置,还可以搭配集群。这样做的目的是为了防止其中某一台出现故障。
简单说下整个系统运行的顺序:
(1)启动 的
(2)启动kafka 的
如果有数据被生产出来,首先会通过某种方式去寻找,接着把数据存放到相应的地方。
(4) 如果要消费数据,会先通过 找对应的 ,然后消费。
六、Kafka的特性
高吞吐量方面,kafka 每秒能够处理几十万条消息;低延迟方面,它的延迟最低仅为几毫秒;每个 topic 可以进行划分,并且可以对多个 group 进行操作。
(2)可扩展性:kafka集群支持热扩展;
消息会被持久化存储在本地磁盘,同时具备支持数据备份的功能,以此来防止数据丢失。
容错性方面,集群中的节点是允许失败的。如果副本数量为 n,那么就允许 n - 1 个节点失败。
(5)高并发:支持数千个客户端同时读写;
支持实时在线处理与离线处理:能够运用 Storm 这样的实时流处理系统来对消息进行实时处理,并且也可以利用这种批处理系统来进行离线处理。
七、Kafka的使用场景
日志收集方面,一个公司能够利用 Kafka 来收集各类服务的 log 。Kafka 以统一接口服务的形式,将这些 log 开放给诸如 Hbase、Solr 等各种服务。
(2)消息系统:解耦和生产者和消费者、缓存消息等;
用户活动会被跟踪。Kafka 常常被用于记录 web 用户或者 app 用户的各类活动,像浏览网页、进行搜索、点击等活动。这些活动的信息会被各个服务器发布到 Kafka 的 topic 里。接着,订阅者通过订阅这些 topic 来进行实时的监控分析,也可以将其装载到数据仓库中进行离线分析和挖掘。
运营指标方面,Kafka 时常被用于记录运营监控数据。它能够收集各类分布式应用的数据,并且生成各种操作的集中反馈,例如报警和报告。
(5)流式处理:比如spark 和storm;
(6)事件源;
# 深入了解Apache Kafka
# 信宜律师网站推广平台
# 高德地图营销推广 收费
# 如何微信上做营销推广
# 宜昌网站建设网址
# 丹东抖音seo公司推荐
# seo接单网
# 台州搜索营销推广
# 青州品牌网站建设招标
# 高校会议网站建设方案
# 厦门seo优化教程
# 金华百度营销推广
# 分布式发布-订阅消息系统的架构与优势
# 山西关键词排名招商
# 巩义优化网站排名报价单
# 保定营销策划推广技巧
# 昆明做网站建设app
# 遂平网站推广公司招聘
# 比较好的产品推广网站
# 企鹅电竞刷粉网站推广
# 地摊小区推广营销方案
# 阳新抖音seo
上一篇 : 大数据时代数据可视化的基本流程:从数据采集到清洗的完整指南,五金营销推广文案怎么写
下一篇 : SEO关键词优化策略与方法全解析:提升网站排名与流量的实用指南,江苏网站优化推广价格
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!