当前位置: 首页 > news >正文

北京网站建设交易学校建设网站的目的和意义

北京网站建设交易,学校建设网站的目的和意义,谷歌广告代理商,黑龙江建设厅官网1. Kafka 1.1 定位 分布式流数据平台,核心解决三大问题: 高吞吐的实时数据管道:支持每秒百万级消息处理。 持久化的消息队列:消息持久化到磁盘,支持多订阅者。 流式数据处理:与 Flink/Spark Streaming 集…

1. Kafka

1.1 定位

分布式流数据平台,核心解决三大问题:
高吞吐的实时数据管道:支持每秒百万级消息处理。
持久化的消息队列:消息持久化到磁盘,支持多订阅者。
流式数据处理:与 Flink/Spark Streaming 集成,实现实时计算。

1.2 基础概念

组件作用
Producer消息生产者,将数据发布到指定 Topic(如日志采集器、应用事件埋点)
BrokerKafka 服务节点,负责消息存储和转发。集群中多个 Broker 组成高可用架构
Topic逻辑上的消息分类(如 order_events)。每个 Topic 分为多个 Partition 提高并行度
Partition消息的物理分片,有序不可变序列,每条消息通过 Offset 唯一标识
Consumer消息消费者,按需订阅 Topic(如实时计算任务、数据同步服务)
Consumer Group多个 Consumer 组成的组,共同消费一个 Topic,实现负载均衡(组内竞争 Partition)
Zookeeper/KRaft集群元数据管理与选举(Kafka 2.8+ 逐步移除 Zookeeper,改用 KRaft 协议)

Broker(经纪人/服务节点)
可以理解为 “数据中转站” 或 “Kafka服务器”。
作用:Kafka集群中的一个工作节点,负责接收、存储和转发消息。多个Broker组成一个Kafka集群(类似快递公司的多个分拣中心)。
例子:假设Kafka是一个邮政系统,Broker就是各个城市的邮局。生产者把信件(消息)送到邮局,邮局负责暂存信件,并分发给对应的收件人(消费者)。

Topic(主题)
可以理解为 “消息分类” 或 “数据流名称”。
作用:逻辑上对消息进行分类,类似数据库中的“表”或文件系统中的“文件夹”。生产者向指定Topic发送消息,消费者订阅Topic获取消息。
例子:继续用邮政系统类比,Topic就是不同类型的邮件,比如:
订单通知 Topic:专门处理电商订单消息(如“您的订单已发货”)。
日志监控 Topic:专门传输服务器日志(如“用户A登录了系统”)。

Partition(分区)
可以理解为 “数据分片” 或 “并行处理的通道”。
作用:每个Topic可以分成多个Partition,实现数据的分布式存储和并行处理。消息在Partition内是有序的,但不同Partition之间无序。
例子:
假设订单通知 Topic有3个Partition,就像邮局的3个分拣窗口:
Partition 0:处理订单号以0结尾的订单(如订单100、订单200)。
Partition 1:处理订单号以1结尾的订单(如订单101、订单201)。
Partition 2:处理订单号以2结尾的订单(如订单102、订单202)。

发送消息
生产者
订单通知 Topic
Partition 0
Partition 1
Partition 2
Broker 1
Broker 2
Broker 3
消费者组1
消费者组2
消费者组3

生产者(Producer)的数据是先发送到 Topic,但 Topic 的物理载体是 Broker。

1. 指定Topic和Key
2. 路由到Partition
3. 存储在Broker
Producer
Topic
Partition
Broker

Offset是 Kafka 中每条消息在 Partition 内的唯一位置标识(类似于数组下标)。例如,Partition 中的消息按顺序存储为Offset 0, 1, 2, ...
作用:Consumer 通过记录已处理的 Offset,来标识消费进度。例如,若 Consumer 处理完 Offset 100 的消息,下一次会从 Offset 101 开始消费。
提交 Offset:Consumer 在处理完消息后,需显式或隐式地告知 Kafka:“我已处理到 Offset X”。Kafka 会将此信息记录在内部 Topic __consumer_offsets 中。

1.3 数据流向

发布消息
存储消息
消费消息
提交Offset
集群协调
Producer
Broker
Topic/Partition
Consumer
__consumer_offsets
Zookeeper/KRaft

1.4 性能调优

Producer:
批量发送(linger.msbatch.size)。
压缩消息(compression.type=snappy)。

Consumer:
增加分区数提升并行度。
避免单 Consumer 处理过多 Partition(均衡负载)。

Broker:
调整 num.io.threads 和 num.network.threads 匹配硬件资源。

常见问题
消息积压:增加 Consumer 数量或优化处理逻辑。
数据倾斜:合理设计 Partition Key(避免热点 Key)。
重复消费:确保 Consumer 提交 Offset 的幂等性。

1.5 引申问题

Kafka 和 HDFS 都能存储数据,但本质不同:
Kafka 是流式数据的中转站,强调高吞吐、低延迟的实时传输,数据默认会滚动删除,适合作为消息队列或流处理管道;
HDFS 是批量数据的永久存储,针对大文件优化,支持复杂分析,适合离线计算。
例如,我们会用 Kafka 实时接收用户行为日志,再由 Flink 消费计算实时指标,同时定期将 Kafka 数据归档到 HDFS 供离线补算和审计。

2. Flink

2.1 定位

Apache Flink 是一个分布式流批一体计算引擎,设计目标是处理无界(流)和有界(批)数据,提供低延迟、高吞吐、精确一次(Exactly-Once)的计算能力。其核心特点是以流处理为原生模型,批处理被视为流处理的特殊情况。

2.2 组件

组件角色
JobManager集群的“大脑”,负责任务调度、Checkpoint协调、故障恢复。一个集群可有多个备用(HA)
TaskManager执行具体任务的节点,包含多个Task Slot(资源单元),负责数据计算与网络传输
Resource Manager管理资源(如与YARN/K8s集成),分配TaskManager资源

2.3 计算流程

Flink 的执行模型可类比为 流式优化的 DAG(有向无环图),但更强调事件驱动的连续处理。以下是其核心阶段:

事件流
分区策略
数据源
转换操作: map/filter
Shuffle
聚合/窗口操作: reduce/join
结果输出

阶段拆解

阶段说明
Source从外部系统(如 Kafka、文件)读取数据,生成 DataStream 或 DataSet
Transformation应用 map、filter、keyBy 等操作,构建处理逻辑链
Shuffle根据 keyBy 或自定义分区器(Partitioner)重新分配数据(类似 MapReduce 的 Shuffle)
Window/Aggregate对 KeyedStream 应用窗口或聚合操作(如 reduce、sum、window)
Sink将结果写入外部存储(如数据库、Kafka)
http://www.dtcms.com/a/612830.html

相关文章:

  • 婚纱摄影 网站关键词 优化网站建设策dw php
  • 网站 数据库 模板韶关市住房和城乡建设局网站
  • wordpress搭建企业网站思路南通网站建设协议
  • 建站边检站深圳最近一个星期新闻
  • 贵州建设职业技术学院官方网站政务中心网站自身建设
  • aspcms网站地图生成南宁网站建设公司电话
  • 合川做网站地图网站开发
  • 不同性质网站的营销特点一览表房地产企业网站建设
  • 航天桥网站建设黑龙江网站设计
  • 华为官方网站手机商城首页手机网页怎么做出来的
  • 企业网站栏目设置宁波网站推广方法
  • 做网站需要模板吗自己注册个公司做网站怎么样
  • 苏州大学网站建设目标wordpress 51la
  • 专业营销网站制作广告设计公司利润
  • 做网站创意是什么意思永久免费网站系统
  • 做夜夜做网站品牌营销咨询公司是做什么的
  • 小学生做电子小报的网站郑州网站推广优化外包公司
  • 手机网站引导页js免费ftp服务器空间
  • 北太平桥网站建设台州品牌设计公司
  • 网站建设预算及准备做视频营销哪个网站好
  • 专业做二手房装修网站赤峰市哪里做网站
  • 网站原型是产品经理做vps安装wordpress
  • 网站优化的方法与技巧网站关键词在哪里做
  • 自助建站的软件h5移动端网站模板下载
  • 做网站可以用思源字体吗广东省建设安全中心网站
  • 海口专业网站建设公司婚纱摄影网站的设计与实现
  • 织梦网站0day漏洞学网站建设需要什么软件
  • 苏州网站建设制作公司网络推广策划方案怎么写
  • 北京城乡建设门户网站怎么样自己制作网站
  • dz论坛怎么做视频网站苏宁易购网站风格