秋名山的云端,终年云雾弥漫,人迹罕至,但这一切不妨碍它成为竞速者的乐园。在最接近云端三KB的路段,蜿蜒狭长,不可预料,他要求挑战者支持高并发的多线操作,并在电石光火间正确有序地处理浪涌的海量数据。在这条极限赛道上,神车Kafka自七年前出道以来,已经很久没有遇到过对手了。
“我知道你的苦”,一辆车头印着硕大镁光菊花LOGO的新面孔出现在Kafka面前。
Kafka :“……你是?”
神秘车:“在这3kb里,你虽然没有了对手,但你每次部署要多久?改bug多久?系统升级头大不?下了山在平稳的公路上,你还能不能打败Mq,Redis那帮老家伙?”
Kafka 放下手中正在调试的bug惊诧道:“……你是谁,想怎样,快说说有什么办法?”
“我叫DMS, 我已经完全兼容了你,并把你复杂的运维和部署自动化,还有你不具备的(此处省略一万字)能力,只要你我DK联手,天下我有,你要不要考虑下?”神秘车说道。
Kafka沉默了半晌,望着秋名山下依稀阑珊的夜色淡淡的说:“好吧,你说的对,是时候该跟你走了。"
一万字DMS能力描述详细如下
简介:分布式消息服务(DistributedMessage Service)是华为云PaaS基于华为内部多年大规模应用实践锤炼而来的一款分布式消息中间件。为应用系统提供异步的消息队列服务。通过高可用的消息缓冲队列,实现应用解耦、突发流量处理及与第三方的互通和集成。具有大规模、高可靠、高并发访问、可扩展且完全托管的特点。DMS帮助云端的应用程序组件去耦合,具有很高的成本效益。DMS拥抱开源,提供支持兼容开源Kafka接口,用户可无缝迁移,按需使用。目前DMS正在火热公测,不妨试一试DMS带给你的惊喜,更重要的是,现阶段免费试用喔!
产品优势
- 全面兼容Kafka 提升效率 -
兼容开源:业务系统基于开源的Kafka进行开发,只需加入少量认证安全配置,即可使用DMS的Kafka队列,做到无缝迁移。
消息互通:支持消息多通道,DMS接口可对Kafka队列进行消息收发,也可用开源Kafka client进行消息收发。
安全保证:华为独有的安全加固体系,提供业务操作可回溯,消息存储加密及租户间有效隔离等有效安全措施。
- 高可靠及可用无忧运维 -
数据高可靠:提供消息持久化,多副本存储,确保数据的高可靠。
服务高可用:后台多集群部署,支持故障自动迁移和容错,保证用户关键业务的可靠运行。
无忧运维:提供一整套完整的监控告警等运维服务,故障自动发现和告警,避免7*24小时人工值守。
核心特性
细粒度灵活控制:DMS支持RBAC(基于角色访问控制)和PBAC(基于策略访问控制)两种访问控制模式,从而提供更加安全灵活的访问策略。可以实现消息队列粒度和API调用动作的安全策略访问控制,结合华为云的IAM服务,可以满足用户几乎所有对消息服务使用的安全要求。
多协议的访问:DMS提供多种协议接入方式,包括1)HTTP 符合REST规范标准的接入,支持多种语言接入使用,并支持云内及云外访问。2)基于TCP的简单SDK方式,提供更加高性能的访问接口;另外,还提供兼容开源Kafka的开放接口,能够更好地帮助用户把使用Kafka的应用快速上云。
分布式可靠集群和海量队列能力:内建的分布式集群技术,使得服务具有高度扩展性;***扩展的队列数量和可扩展的高性能机制,保证在高并发、高性能和大规模场景下的访问能力,轻松实现百亿级消息的堆积和访问能力。内建消息冗余存储,保证消息存储的可靠性,有效避免服务节点故障。
死信管理:死信是在消费环节为用户提供一种不能正常处理消息时的可选方案,防止因个别消息不正常导致后续消息都不能被消费,造成业务阻塞。DMS为用户提供可视化死信开关和参数配置,并提供API接口。在不开启死信队列功能时,对于确认失败或超时的消息,系统会进行回滚并重投递。无论是否开启死信功能,DMS服务都会保证消息不丢失。
自定义消息功能:DMS除提供消息队列的核心功能外,还提供额外的增强能力,为用户提供高收益、低成本的***性价比的消息服务。消息消费重置允许用户设置任一可消费的时间点控制向前或向后消费进度,提高消费的灵活性;基于消息标签的消息过滤可实现选择性地消费包含指定标签的消息;支持消息属性,每条消息上都可以设置不同的属性。
无忧运维:消息服务是云原生服务,整个消息服务的运维对用户透明。用户无需关心后台运维情况,只需关注自身涉及的消息队列指标,支持对入队消息数、请求数、已经消费的消息数、消息堆积数量等情况的监控,并支持配置告警规则,用户可以在***时间通过短信、邮件等获得业务消息队列的运行使用和负载状态。
适用场景
业务解耦:将业务中依赖其他系统同时属于非核心或不重要的部分使用消息服务,无需同步等待其他系统的处理结果。如电商网站获取用户订单后,信息放入消息队列,会从队列里读取出库、发货任务信息然后执行。
最终一致性:用于两个系统的状态最终保持一致,或都成功或都失败。如用于交易系统的高可靠数据传递,实现跨系统的事务最终一致,降低实现难度和成本;如预定门票及软件打车。
错峰流控:上下游系统处理能力有差异时,可以使用消息服务转储系统之间的通信数据,提供消息堆积缓冲能力,在下游系统有能力处理消息的时候再处理,减少拥塞、系统崩溃等问题,提高系统的可用性,降低复杂性。如高峰时段的注册、抢购、预约等。
日志同步:应用通过可靠异步方式将日志消息同步到消息服务,再通过其他组件对日志做实时或离线分析,也可用于关键日志信息收集,进行应用监控。如注册时用户填写的个人信息等。
秋名山云端的神话依然在山顶燃烧,Kafka的***体验让人欲罢不能,但操心的运维、复杂的安全策略、可靠性易用性的缺失、算不上***的性能发挥、并不丰富的消息服务功能,仍需要使用者付出诸多的背后工作,如果你是Kafka老车手,也有上述同样的烦恼,不妨试一试DMS给带给你的惊喜,更重要的是,现阶段免费使用喔。