分布式消息服务kafka

这篇具有很好参考价值的文章主要介绍了分布式消息服务kafka。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分布式消息队列DMS

什么是消息中间件?

消息中间件是分布式系统中重要的组件,本质就是一个具有接收消息、存储消息、分发消息的队列,应用程序通过读写队列消息来通信。

分布式消息服务kafka,华为云,分布式,kafka

例如:在淘宝购物时,订单系统处理完订单后,把订单消息发送到消息中间件中,由消息中间件将订单消息分发到下游子系统(如物流、积分、通知等),订单系统和下游子系统通过消息中间件进行通信,减少他们之间的耦合,增加系统稳定性。

分布式消息服务kafka,华为云,分布式,kafka

主流的消息中间件有哪些?

类别 作用及功能
分布式消息服务Kafka版 分布式消息服务Kafka版,兼容开源Kafka,适用于构建实时数据管道、流式数据处理、第三方解耦、流量削峰去谷等场景,具有大规模、高可靠、高并发访问、可扩展且完全托管的特点。
分布式消息服务RabbitMQ版 分布式消息服务RabbitMQ版,100%兼容开源RabbitMQ,支持广播、事务消息、消息路由、死信队列、优先级队列等,广泛应用于秒杀、流控、系统解耦等场景。
分布式消息服务RocketMQ版 分布式消息服务RocketMQ版,兼容开源RocketMQ,提供顺序、延迟、定时、重投、死信、事务消息、会话消息等功能,适用于电商、金融等场景。

如何选型不同的消息队列

KafKa RabbitMQ RocketMQ
操作性能(消息中间件的性能主要衡量吞吐量) Kafka的单机QPS能够达到百万级别,Kafka的吞吐量比RabbitMQ要高出1~2个数量级 RabbitMQ的单机QPS在万级别 RocketMQ性能介于RabbitMQ与Kafka之间,单broker几万QPS
数据可靠性 Kafka采用多副本机制,数据可靠性较高 RabbitMQ采用多副本机制,数据可靠性较高 RocketMQ采用3副本机制,数据可靠性较高。RocketMQ采用Ratt一致性协议,数据一致性高于Kafka与RabbitMQ

功能选型

KafKa RabbitMQ RocketMQ
持久化 支持 支持 支持
优先级队列 支持
延迟队列 支持 支持
死信队列 支持 支持
消息重试 支持
事务消息 支持 支持 支持

产品优势–华为云的分布式消息服务Kafka

华为云分布式消息服务Kafka版完全兼容开源社区版本,旨在为用户提供便捷高效的消息队列。业务无需改动即可快速迁移上云,为您节省维护和使用成本。

  • 一键式部署,免去集群搭建烦恼

    您只需要在实例管理界面选好规格配置,提交订单。后台将自动创建部署完成一整套Kafka实例。

  • 兼容开源,业务零改动迁移上云

    兼容社区版Kafka的API,具备原生Kafka的所有消息处理特性。

    业务系统基于开源的Kafka进行开发,只需加入少量认证安全配置,即可使用华为云分布式消息服务Kafka版,做到无缝迁移。

说明:Kafka实例兼容开源社区Kafka 1.1.0、2.7、3.x版本。在客户端使用上,推荐使用和服务端版本一致的版本。

  • 安全保证

    独有的安全加固体系,提供业务操作云端审计,消息存储加密等有效安全措施。

    在网络通信方面,除了提供SASL(Simple Authentication and Security Layer)认证,还借助虚拟私有云(VPC)和安全组等加强网络访问控制。

  • 数据高可靠

    Kafka实例支持消息持久化,多副本存储机制。副本间消息同步、异步复制,数据同步或异步落盘多种方式供您自由选择。

  • 集群架构与跨AZ部署,服务高可用

    Kafka后台为多集群部署,支持故障自动迁移和容错,保证业务的可靠运行。

    Kafka实例支持跨AZ部署,代理部署在不同的AZ,进一步保障服务高可用。不同AZ之间基于Kafka ISR(in-sync replica)进行数据同步,Topic需要选择数据多副本并且将不同副本分布到不同的ISR上,在ISR正常同步状态下,故障RPO(Recovery Point Objective)趋近于0。

  • 无忧运维

    华为云提供一整套完整的监控告警等运维服务,故障自动发现和告警,避免7*24小时人工值守。Kafka实例自动上报相关监控指标,如分区数、主题数、堆积消息数等,并支持配置监控数据发送规则,您可以在第一时间通过短信、邮件等获得业务消息队列的运行使用和负载状态。

  • 海量消息堆积与弹性扩容

    内建的分布式集群技术,使得服务具有高度扩展性。分区数可配置多达200个,存储空间弹性扩展,保证在高并发、高性能和大规模场景下的访问能力,轻松实现百亿级消息的堆积和访问能力。

  • 多规格灵活选择

    Kafka实例的带宽与存储资源可灵活配置,并且自定义Topic的分区数、副本数。

应用案例

异步通信
将业务中属于非核心或不重要的流程部分,使用消息异步通知的方式发给目标系统,这样主业务流程无需同步等待其他系统的处理结果,
从而达到系统快速响应的目的
如网站的用户注册场景,在用户注册成功后,还需要发送注册邮件与注册短信,这两个流程使用Kfk消息服务通知邮件发送系统与短信发送系统,从而提升注册流程的响应速度。
  • 串行发送注册邮件与短信流程

分布式消息服务kafka,华为云,分布式,kafka

  • 借助消息队列异步发送注册邮件与短信流程

分布式消息服务kafka,华为云,分布式,kafka

错峰流控与流量削峰
在电子商务系统或大型网站中,上下游系统处理能力存在差异,处理能力高的上游系统的突发流量可能会对处理能力低的某些下游系统造成冲击,需要提高系统的可用性的同时降低系统实现的复杂性。电商大促销等流量洪流突然来袭时,可以通过队列服务堆积缓存订单等信息,在下游系统有能力处理消息的时候再处理,避免下游订阅系统因突发流量崩溃。消息队列提供亿级消息堆积能力,3天的默认保留时长,消息消费系统可以错峰进行消息处理。
  • 消息队列应对秒杀大流量场景

分布式消息服务kafka,华为云,分布式,kafka

日志同步
在大型业务系统设计中,为了快速定位问题,全链路追踪日志,以及故障及时预警监控,通常需要将各系统应用的日志集中分析处理。

Kafka设计初衷就是为了应对大量日志传输场景,应用通过异步方式将日志消息同步到消息服务,再通过其他组件对日志做实时或离线分析,也可用于关键日志信息收集进行应用监控。

日志同步主要有三个关键部分:日志采集客户端,Kafka消息队列以及后端的日志处理应用。

日志采集客户端,负责用户各类应用服务的日志数据采集,以消息方式将日志“批量”、“异步”发送Kafka客户端。
Kafka客户端批量提交和压缩消息,对应用服务的性能影响非常小。

Kafka将日志存储在消息文件中,提供持久化。
日志处理应用,如Logstash,订阅并消费Kafka中的日志消息,最终供文件搜索服务检索日志,或者由Kafka将消息传递给Hadoop等其他大数据应用系统化存储与分析。

息,对应用服务的性能影响非常小。

Kafka将日志存储在消息文件中,提供持久化。
日志处理应用,如Logstash,订阅并消费Kafka中的日志消息,最终供文件搜索服务检索日志,或者由Kafka将消息传递给Hadoop等其他大数据应用系统化存储与分析。文章来源地址https://www.toymoban.com/news/detail-789454.html

分布式消息服务kafka,华为云,分布式,kafka




到了这里,关于分布式消息服务kafka的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式 - 消息队列Kafka:Kafka生产者发送消息的分区策略

    01. Kafka 分区的作用 分区的作用就是提供负载均衡的能力,或者说对数据进行分区的主要原因,就是为了实现系统的高伸缩性。不同的分区能够被放置到不同节点的机器上,而数据的读写操作也都是针对分区这个粒度而进行的,这样每个节点的机器都能独立地执行各自分区的

    2024年02月13日
    浏览(54)
  • 分布式 - 消息队列Kafka:Kafka生产者发送消息的3种方式

    不管是把Kafka作为消息队列、消息总线还是数据存储平台,总是需要一个可以往Kafka写入数据的生产者、一个可以从Kafka读取数据的消费者,或者一个兼具两种角色的应用程序。 Kafka 生产者是指使用 Apache Kafka 消息系统的应用程序,它们负责将消息发送到 Kafka 集群中的一个或多

    2024年02月13日
    浏览(48)
  • 【新星计划】Kafka分布式发布订阅消息系统

      目录 Kafka分布式发布订阅消息系统 1. 概述 1.1 点对点消息传递模式 1.2 发布-订阅消息传递模式 1.3 Kafka特点 1.4 kafka拓扑图 2. Kafka工作原理 2.1 Kafka核心组件介绍 2.2 Kafka工作流程分析 2.2.1 生产者生产消息过程 2.2.2 消费者消费消息过程 2.2.3 Kafka Topics 2.2.4 Kafka Partition 2.2.4 Kafka

    2024年02月08日
    浏览(45)
  • 分布式消息队列Kafka(四)- 消费者

    1.Kafka消费方式 2.Kafka消费者工作流程 (1)总体工作流程 (2)消费者组工作流程 3.消费者API (1)单个消费者消费 实现代码 (2)单个消费者指定分区消费 代码实现: (3)消费者组消费 复制上面CustomConsumer三个,同时去订阅统一个主题,消费数据,发现一个分区只能被一个

    2023年04月26日
    浏览(49)
  • 分布式 - 消息队列Kafka:Kafka 消费者的消费位移

    01. Kafka 分区位移 对于Kafka中的分区而言,它的每条消息都有唯一的offset,用来表示消息在分区中对应的位置。偏移量从0开始,每个新消息的偏移量比前一个消息的偏移量大1。 每条消息在分区中的位置信息由一个叫位移(Offset)的数据来表征。分区位移总是从 0 开始,假设一

    2024年02月12日
    浏览(50)
  • 分布式应用之zookeeper集群+消息队列Kafka

           ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。为分布式框架提供协调服务的

    2024年02月06日
    浏览(66)
  • zookeeper+kafka分布式消息队列集群的部署

    目录 一、zookeeper 1.Zookeeper 定义 2.Zookeeper 工作机制 3.Zookeeper 特点 4.Zookeeper 数据结构 5.Zookeeper 应用场景 (1)统一命名服务 (2)统一配置管理 (3)统一集群管理 (4)服务器动态上下线 6.Zookeeper 选举机制 (1)第一次启动选举机制 (2)非第一次启动选举机制 7.部署zookeepe

    2024年02月14日
    浏览(52)
  • 分布式 - 消息队列Kafka:Kafka消费者的分区分配策略

    Kafka 消费者负载均衡策略? Kafka 消费者分区分配策略? 1. 环境准备 创建主题 test 有5个分区,准备 3 个消费者并进行消费,观察消费分配情况。然后再停止其中一个消费者,再次观察消费分配情况。 ① 创建主题 test,该主题有5个分区,2个副本: ② 创建3个消费者CustomConsu

    2024年02月13日
    浏览(47)
  • 分布式 - 消息队列Kafka:Kafka生产者架构和配置参数

    生产者发送消息流程参考图1: 先从创建一个ProducerRecord对象开始,其中需要包含目标主题和要发送的内容。另外,还可以指定键、分区、时间戳或标头。在发送ProducerRecord对象时,生产者需要先把键和值对象序列化成字节数组,这样才能在网络上传输。 接下来,如果没有显式

    2024年02月13日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包