国际购物网站有哪些,wordpress 上传软件,wordpress 幻灯片手机端字体大小,郑州数码网站建设服务公司Kafka 是一个开源的分布式流式平台#xff0c;它可以处理大量的实时数据#xff0c;并提供高吞吐量#xff0c;低延迟#xff0c;高可靠性和高可扩展性。
Kafka 最初是为分布式系统中海量日志处理而设计的。它可以通过持久化功能将消息保存到磁盘#xff0c;并让消费者按…Kafka 是一个开源的分布式流式平台它可以处理大量的实时数据并提供高吞吐量低延迟高可靠性和高可扩展性。
Kafka 最初是为分布式系统中海量日志处理而设计的。它可以通过持久化功能将消息保存到磁盘并让消费者按照自己的节奏提取消息。Kafka 不仅仅是一个消息队列它还是一个开源的分布式流处理平台。 Kafka 的应用场景
Kafka 作为一款热门的消息队列中间件具备高效可靠的消息异步传递机制主要用于不同系统间的数据交流和传递。
下面给大家介绍一下 Kafka 在分布式系统中常用的应用场景
日志处理与分析消息队列系统监控与报警CDC数据变更捕获数据流式处理 日志处理与分析
日志收集是 Kafka 最初的设计目标之一也是最常见的应用场景之一。
可以用 Kafka 收集各种服务的日志如 web 服务器、服务器日志、数据库服务器等通过 Kafka 可以统一接口服务的方式开放给各种消费者例如 Flink、Hadoop、Hbase、ElasticSearch 等。这样可以实现分布式系统中海量日志数据的处理与分析。
下图是一张典型的 ELKElastic-Logstash-Kibana分布式日志采集架构。
服务将日志数据写在 log 文件中。Logstash 读取日志文件发送到 Kafka 的日志主题中。ElasticSearch 订阅日志主题建立日志索引保存日志数据。开发者通过 Kibana 连接到 ElasticSeach 即可查询其日志索引内容。 消息队列
Kafka 最常见的应用场景就是作为消息队列。提供了一个可靠且可扩展的消息队列可以处理大量数据。
Kafka 可以实现不同系统间的解耦和异步通信如订单系统、支付系统、库存系统等。在这个基础上 Kafka 还可以缓存消息提高系统的可靠性和可用性并且可以支持多种消费模式如点对点或发布订阅。 系统监控与报警
Kafka 常用于传输监控指标数据。例如在分布式系统中可能会有数百台服务器通过工具把 CPU 利用率、内存使用率、磁盘使用率、流量使用等指标发布到 Kafka。然后通过监控应用程序可以使用这些指标来进行实时可视化、警报和异常检测。
常见监控报警系统的工作流程。
采集器agent读取购物车指标发送到 Kafka 中。Flink 读取 Kafka 中的指标数据进行聚合处理。实时监控系统和报警系统读取聚合数据作展示以及报警处理。 CDC
CDC数据变更捕获。用来将数据库中的发生的更改以流的形式传输到其他系统以进行复制或者缓存等。
Kafka 中有一个连接器组件可以支持 CDC 功能它需要和具体的数据源结合起来使用。数据源可以分成两种源数据源 data source 也叫作“源系统”和目标数据源 Data Sink 也叫作“目标系统”。
Kafka 连接器和源系统一起使用时它会将源系统的数据导入到 Kafka 集群。Kafka 连接器和目标系统一起使用时它会将 Kafka 集群的数据导人到目标系统。
常见 CDC 系统的工作流程。
源数据源将事务日志发送到 Kafka。Kafka 的连接器将事务日志写入目标数据源。目标数据源包含 ElasticSearch、Redis、备份数据源等。 数据流式处理
流式处理是 Kafka 在大数据领域的重要应用场景之一。
可以用 Kafka 作为流式处理平台的数据源或数据输出与 Spark Streaming、Storm、Flink 等框架进行集成实现对实时数据的处理和分析如过滤、转换、聚合、窗口、连接等。
比如要实现一个推荐系统的工作流程。
将用户的点击流数据发送到 Kafka 中。Flink 读取 Kafka 中的流数据实时写入数据湖中其进行聚合处理。机器学习使用来自数据湖的聚合数据进行训练算法工程师也会对推荐模型进行调整。这样推荐系统就能够持续改进对每个用户的推荐相关性。