4.微服务灰度发布落地实践(消息队列增强)

前言

消息队列是一种用于在应用程序的不同组件或系统之间传递消息的通信机制。它通过将消息存储在一个队列中,确保消息能够可靠地从发送方传递到接收方,即使发送方和接收方不同时在线或处理能力不同。消息队列在现代分布式系统、微服务架构以及异步处理场景中扮演着至关重要的角色;所以在处理灰度发布的实现,避免不了对其改造。

问题分析

消息的灰度路由,不像应用服务之间可以简单的改写路由规则;网上看到很多关于消息灰度的方案,都不是很理想,大多涉及到需要配合修改业务代码;一但涉及到修改业务代码,风险及工作量都比较大,现实中如果已存在大量服务,改造推动难信不可想象,方案是否能落地得大打折扣;所以如果涉及到需要改业务代码的方案,不太能行得通,现在唯一到想到的是通过agent的方案,可以实现无需改动业务代码,并且接入升级较为方便。

消息队列特性分析

本文重点是关注消息队列可能作灰度路由特性的分析

kafka

kafka 有个消费者组这样的特性: 同一个topic某条消息,同一消费者的只有其中一个消费者能收到该消息;利用这一特性,可以把某一topic的消费者组分为:正常的消费者组和灰度消息者组;正常的消费者收到topic消息后,判断如果是正常的消息则接受,如果是携带灰度标签的消息则丢弃;同量灰度消费者收到topic消息后,如果正常消息去弃掉,如果是携带灰度标签的消息则接受。对生产端,如接收到的请求是灰度请求,则发送携带灰度标签的消息,否则发送不携带灰度标签的消息。

rocketmq

rocketmq 跟kafka有些类似,处理方式可以同步

rabbitmq

rabbitmq

相关推荐
FII工业富联科技服务8 分钟前
从85% AI应用覆盖到规模化运营:制造企业灯塔AI转型架构与落地方法解析
人工智能·架构·制造
带娃的IT创业者41 分钟前
从印度私营火箭首飞成功看新兴航天架构的技术突围
大数据·架构·架构设计·系统工程·控制系统·火箭发射·商业航天
向夏威夷 梦断明暄1 小时前
从架构特点到功能缺陷,重新认识分析型分布式数据库
数据库·分布式·架构
淼澄研学1 小时前
大模型应用开发实战:从API调用到RAG与Agent架构的5个核心落地方案
人工智能·架构
Cosolar1 小时前
Claude Opus 5 系统提示词被完整泄露,共 135027 字符、约 3.4 万 token
人工智能·后端·架构
小码哥哥2 小时前
如何从架构层面评价国内六大企业AI知识库的技术差异?
人工智能·架构
AOwhisky2 小时前
云原生 DevOps 工具链从入门到实战(第二期)——Jenkins安装与基础配置——CICD核心引擎
linux·运维·ci/cd·云原生·jenkins·devops
zandy10112 小时前
体验家 XMPlus 跨系统数据同步与一致性保障机制:CEM 与 CRM/ERP/BI 的双向集成架构
大数据·架构
wu8587734572 小时前
从 Ticket-v1 到 OIDC:一场跨越十年的身份认证架构演进与平滑迁移实战
架构
清泓y2 小时前
UE基础知识与引擎架构面试题
面试·架构·ue5·ue4·游戏程序