阿里云研发工程师刘睿:阿里云消息生态及最佳实践

这篇具有很好参考价值的文章主要介绍了阿里云研发工程师刘睿:阿里云消息生态及最佳实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2022 年 9 月 24 日,阿里云用户组(AUG)第 12 期活动在厦门举办。活动现场,阿里云消息中间件研发工程师刘睿,向参会企业代表分享了阿里云消息生态及最佳实践。本文根据演讲内容整理而成。

众所周知,消息中间件作为现代软件体系中的底层基础软件,和数据库一样广泛应用于各种场景中。比如大数据 ETL、日志处理、IoT 的一些场景以及事件分发,还有 SaaS 集成等这些各种各样的场景里面都需要用到消息中间件。

阿里云消息产品系列

消息全家桶:简单、稳定、开源

阿里云研发工程师刘睿:阿里云消息生态及最佳实践

面对如此众多的消息中间件应用场景,阿里云在消息产品这一块也有非常丰富的产品矩阵。其中,有主打业务消息和订单交易场景的 Rocket MQ;有在国际上知名度也比较高、主打业务日志流式处理的数据通路消息产品 Kafka;还有其他一些面向细化场景业务的产品,例如对标开源,作为业务消息选型补充的 Rabbit MQ,面向 IoT 领域的消息队列 MQTT,以及轻量版的 Rocket MQ——消息服务 MNS。这些产品,组成了阿里云的比较完整的消息中间件产品的矩阵。

阿里云的消息中间件具备较强的技术优势和核心竞争力,体现在很高的 SLA,最高达到 4 个 9,支持异地多活/灾备、故障秒级恢复、高吞吐和低延时的能力,并且支持海量的连接、百万队列、分级存储和 Serverless 弹性能力。

这里重点分享的消息队列 Kafka,作为一款全托管的 kafka 服务包括生态相关的云产品,解决了非常多的用户痛点,是大数据生态领域中使用率非常高的产品,其主打的价值是内核更加的稳定、成本更加的低廉,同时具备更高的性能。

企业级大数据消息通道:消息系列 Kafka
阿里云研发工程师刘睿:阿里云消息生态及最佳实践

消息队列 Kafka 版集成了更丰富的生态,不仅是兼容开源的生态,还对接融合了各种阿里云内部产品的生态。具体表现在:

页面交互上,我们的控制台会有非常多且直观的功能,可以让用户使用一键迁移等生态功能,通过 Connector 对接其他云服务例如 RDS。研发同学也会持续维护更新 kafka 服务版本,让用户能够使用到最新的开源对标能力,同时也会持续做好内部优化版本,不断修复各种开源的问题,让用户有更好的使用体验;

支持服务编排、阿里云内部 Tag 的资源管理能力,以及可观测的一些基本能力;

优化模块,涉及到底层的技术优化,比如分级存储,多盘的支持等;

完善的运维底座,可以做到自动化的巡检运维,支持自动化专家诊断。

技术优化

自研双引擎支持
阿里云研发工程师刘睿:阿里云消息生态及最佳实践

本节将简单介绍一些消息队列 Kafka 的技术优化。消息队列 Kafka 同时支持阿里云自研的存储引擎和开源存储引擎,可以解决用户的痛点,如:开源劣势、兼容性担忧、支持 Topic 粒度使用不同的存储引擎。

开源自建 Kafka 很难解决的一些问题可以通过我们的云 Topic 引擎去支持。云 Topic 引擎的优势包括更好的可用性、弹性和更低的成本;研发同学通过优化引擎解决开源的生存 Bug,还可以全面兼容开源的不同版本,包括 0.10 版本、2.2 版本、2.6 版本等;以及支持不同引擎 Topic 混用,引擎设置粒度细化到 Topic 级别。

刷盘机制优化
阿里云研发工程师刘睿:阿里云消息生态及最佳实践

其次是刷盘机制的优化,对于开源 Kafka 来说,他的 ISR 机制支持多副本的能力。但是这个能力需要在不同的 Broker 节点上去复制和拷贝数据,要占用相当的一部分网络流量。消息队列 Kafka 版内部做了一些优化,包括和底层的阿里云盘,盘古文件系统这些做了深度的整合优化,把这个多副本的能力直接做到底层,这样可以优化阿里 Kafka 的刷盘效率,降低磁盘使用和成本,并且提升了性能,同时扩容稳定性也得到了保障,数据可靠性可以达到 8 个 9。

分级存储

阿里云研发工程师刘睿:阿里云消息生态及最佳实践

还有一项比较重要的技术优化是分级存储。消息队列 Kafka 通过结合底层 NAS 等存储服务,使用分级存储降低成本,同时提供海量存储容量的能力,允许用户自定义时长的消息保存能力,大大延长了消息保留时间,支持保存长达数月的时间。同时,支持冷热数据分离,保证新的消息读写性能不受到影响。

巡检组件

阿里云研发工程师刘睿:阿里云消息生态及最佳实践

提到自动化运维,必然少不了巡检组件。巡检组件保证了整个服务的稳定性。巡检系统会及时地检查所有集群有没有潜在的问题和故障,然后快速进行自我恢复。自我恢复一般是个秒级响应切换的过程,能够保证整个集群在运行中保持稳定,对用户来说,是保障高 SLA 的基础。

容灭方案
阿里云研发工程师刘睿:阿里云消息生态及最佳实践

消息队列 Kafka 也具备完善的容灾方案,包括如果用户购买了专业版,部署的时候可以选择不同的可用区,对应不同的机房。当其中的一个机房出现故障,容灭方案会自动将这个服务熔断并摘除,将服务的流量切换到其他可用区,这样就可以达到全集群的自动切换,且切换时间很短,同时保证消息不会丢失。解决了开源可用性和可靠性的矛盾问题。

生态支持

Connector 组件:支持配置化转储到大数据相关产品
阿里云研发工程师刘睿:阿里云消息生态及最佳实践

本节介绍消息队列 Kafka 的生态支持,说到生态,就不得不提到 Kafka Connector 组件。消息队列 Kafka Connector 支持配置化地设置转储任务将 Kafka 数据连通到其他大数据相关云产品。

用户只需要简单地配置后,就可以将上游的数据,比如说从 MySQL、Logstash 进来的数据,经过 Kafka 然后通过 Kafka 的 Connector 组件运维调度 Connector 运行时任务,自动地对接到下游,比如 OSS、FunctionComputer、Flink 、Hbase 等这些下游的计算,或者是存储分析的服务,可以自动地做到免运维的全托管的数据对接。还支持包括像 ETL 轻量化数据清洗转储,都有非常成熟的行业解决方案。

ETL 组件:轻量化消息流处理
阿里云研发工程师刘睿:阿里云消息生态及最佳实践

关于 ETL 服务组件,它是轻量级消息流处理系统,可以通过接收上游采集的客户业务数据,例如生产数据、数据库的数据、物联网设备的 IoT 时序数据,进入到 Kafka,通过 Kafka 的 ETL 功能,用户可以自定义数据处理的函数,通过配置化的方式填写到 ETL 页面中。函数会自动的对某一些 Topic 的数据进行清洗和数据的流转,将这些数据通过这个加工模板/算子传到下游的目标数据源,例如 RDS、OSS、Maxcompute 这些下游的服务,自动实现数据的清理、清洗、流转的功能。

最佳实践 & 场景案列

发送最佳实践

阿里云研发工程师刘睿:阿里云消息生态及最佳实践

本节介绍 Kafka 客户端的一些最佳实践。首先关于 Producer 这里,有经验上的比较普适的一些建议,如配置的参数优化、配置的计算选取。建议非业务需要不要使用 Key,因为如果使用 Key 的话,有可能因为 Key 的分布不均导致一些分区写入热点问题,因为 Key 决定了消息写入到哪一个分区,为了减少碎片化写入,更好地负载均衡,建议可以使用粘性的分区策略,以及分区数使用控制台创建 Topic 时推荐的值。

消费最佳实践

阿里云研发工程师刘睿:阿里云消息生态及最佳实践

关于消费者的最佳实践,通过文档建议的参数调优方法,可以尽量减少发生 Rebalance 的可能,提高消费能力。具体的典型应用场景,像消息中间件发布订阅消息,这是它的基础能力。在跟踪网站的应用场景中,可以做到发布到特定的 Topic 和订阅 Topic,做到数据实时的处理和监控。像数据监控、日志转储、聚合日志提交,这些都可以基于现有的开源组件来实现,例如使用 File beat 开源组件,都可以直接做到基于 Kafka、开源组件这一套的能力去快速地实现日志采集分析。

典型场景

阿里云研发工程师刘睿:阿里云消息生态及最佳实践
阿里云研发工程师刘睿:阿里云消息生态及最佳实践

Kafka 也可以应用到反作弊的实时分析场景中,可以通过 Kafka 作为消息的中间流转组件,由上游的 FileBeat 和 LogStash 采集游戏服务的日志。把消息路由到 Flink 实时去做计算,然后把这个计算后的数据存储到 ES 或者 Click house。把 Kafka 的数据流转到一些下游的风控服务,最后反过来形成闭环,对游戏服务的反作弊分析进行处理。
阿里云研发工程师刘睿:阿里云消息生态及最佳实践

MQTT 和 Kafka 一起构建的车联网,也是有一套比较成熟的体系,可以通过 Kafka 作为消息中转的总线,把不同的 IoT 数据流转到下游的各种服务。

从上述应用场景中我们可以看到,在 Serverless 趋势下的现代化软件架构体系中,消息队列 Kafka,包括其他的消息产品,在云服务 Serverless 化的过程中成为了非常重要的一环。也希望大家在将来的 Serverless 实践中多体验和使用消息中间件 Kafka 云产品,为我们提出宝贵建议。(正文完)

阿里云研发工程师刘睿:阿里云消息生态及最佳实践文章来源地址https://www.toymoban.com/news/detail-406365.html

到了这里,关于阿里云研发工程师刘睿:阿里云消息生态及最佳实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 研发工程师玩转Kubernetes——hostPath

    有别于《研发工程师玩转Kubernetes——使用emptyDir在同一Pod不同容器间共享数据》一文中介绍的emptyDir,hostPath可以在 同一个Node的不同Pod间共享 卷。 下面的清单文件利用了Pod亲和性,让Pod集中到一个Node上。 我们观察创建的两个Pod中文件的内容 hostpath-deployment-65cddc7df8-9qtlv wri

    2024年02月14日
    浏览(40)
  • 研发工程师玩转Kubernetes——自动扩缩容

    在《研发工程师玩转Kubernetes——使用Deployment进行多副本维护》一文中,我们通过Deployment实现了多副本维护——即维持在一个确定数量的副本个数。而在现实场景中,我们往往需要根据服务的压力,采用水平(横向)扩容的方式——即增加多个副本,来分担压力。当服务压力

    2024年02月06日
    浏览(43)
  • 技术精英求职必备:大数据研发工程师简历模板

    原则 撰写针对大数据研发工程师职位的简历时,关键在于准确展现您在 大数据处理、分析和应用开发方面的综合技能、项目经验和技术成就 。简历应作为您展示跨多个技术栈的 编程能力、构建完整大数据解决方案和有效解决大数据技术问题 的能力的窗口。确保每一项经历

    2024年02月21日
    浏览(55)
  • 研发工程师玩转Kubernetes——启动、存活和就绪探针

    启动(Startup Probe)、存活(Liveness Probe)和就绪探针(Readiness Probe)有其不同的用途和优先级。 启动探针(Startup Probe)用于Pod内程序告诉kubernetes,其准备工作已经做好。这些准备工作主要是指业务运行前的前置条件,比如资源文件下载完毕,内置数据库文件下载完毕等。这步

    2024年02月13日
    浏览(35)
  • 技术精英求职必备:AIGC(图像生成)研发工程师简历指南

    核心原则 撰写针对AIGC(图像生成)研发工程师职位的简历时,关键在于准确展现您在深度学习、计算机视觉和图像生成算法方面的综合技能、项目经验和技术成就。简历应作为您展示跨多个技术栈的编程能力、构建完整的图像生成解决方案和有效解决AIGC技术问题的能力的窗口

    2024年03月25日
    浏览(73)
  • 《研发效能(DevOps)工程师》课程简介(二)丨IDCF

    为贯彻落实《关于深化人才发展体制机制改革的意见》,推动实施人才强国战略,促进专业技术人员提升职业素养、补充新知识新技能,实现人力资源深度开发,推动经济社会全面发展,根据《中华人民共和国劳动法》有关规定,工业和信息化部教育与考试中心联合有关部门

    2024年02月07日
    浏览(47)
  • 【社招】【中国电信-天翼云】诚聘高级FPGA研发工程师

    基础架构部门介绍: 天翼云是中国电信旗下云计算品牌,致力于成为领先的云计算服务提供商。 基础架构部作为天翼云的核心部门,负责构建天翼云的整个物理基础设施。打造了包括紫金DPU、物理服务器、物理网络、RDMA网络、操作系统、虚拟化、IDC在内的核心底座产品。基

    2024年02月03日
    浏览(47)
  • 博冠光电8K事业部招聘研发工程师及产品经理

    一、高级结构工程师 工作职责:1、负责公司产品的机械结构设计、模具开发和量产导入;2、负责机械结构方向的技术预研,包括技术专题研究,技术难题攻关; 3、负责结构组的技术管理工作,包括带新人,材料选型,设计审核;4、领导安排的其他工作。任职要求:1.、本

    2024年02月12日
    浏览(38)
  • 研发工程师玩转Kubernetes——使用Node特性定向调度Pod

    在《研发工程师玩转Kubernetes——使用污点(taint)驱逐Pod》中我们提到亲和性(affinity)中的requiredDuringSchedulingIgnoredDuringExecution,它可以定向调度Pod。本节我们将使用相关特性完成定向调度的介绍。 我们先模拟Pod被部署在Master Node上的场景。这个时候我们可以使用nodeSelector对

    2024年02月08日
    浏览(46)
  • 突破职场竞争,引领未来发展:考取《研发效能(DevOps)工程师职业技术认证》

    就业形势堪忧,什么最有保障?考个“国家级”证书傍身吧! 工信部教考中心作为中国领先的行业技能认证机构,其颁发的认证证书不仅代表了个人在信息技术领域的专业能力,更可以录入工业和信息化技术技能人才数据库,这是一个重要的信息资源平台,它可以帮助企业和

    2024年02月05日
    浏览(44)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包