Kafka灰度方案

一、kafka灰度方案架构设计方案:

1、外部生产-内部消费

场景:(外部生产-内部消费)

解决方案:先通过kdis分流服务---消费外部生产的消息,然后根据管理后台-灰度配置mcs-mimp-core应用默认的环境版本,如果是1.0,kdis就生产非灰度消息,如果是5.0,kdis就生产灰度消息。业务应用非灰度环境消费kdis生产的非灰度消息,业务应用灰度环境消费kdis生产的灰度消息。

业务方修改:

  1. 新申请两套生产者topic、两套消费者(一套对应灰度的、一套对应非灰度的)

  2. 在kdis服务配置给外部用的topic和新申请的两套生产者topic

  3. 修改业务应用挂载文件kafka-config.json配置

2、内部生产-内部消费

场景:(内部生产-内部消费)

解决方案:业务应用灰度环境生产灰度消息,灰度环境的其它应用消费灰度消息,业务应用非灰度环境生产非灰度消息,非灰度环境的其它应用消费非灰度消息。

业务方修改:

  1. 在原有基础上新申请一套生产者topic、一套消费者(新申请的对应灰度环境、原有的对应非灰度环境)

  2. 修改灰度环境的业务应用生产者配置文件kafka.properties和消费者配置文件kafka-config.json

3、内部生产-外部消费

场景:(内部生产-外部消费)

解决方案:由于外部的消费者不支持灰度消息,因此我们内部生产消息的应用不管是灰度环境还是非灰度环境,共用同一套topic,这样生产的消息就不区分灰度消息。

业务方改造:

不用处理

4、内部生产-内外部消费

场景:(内部生产-内外部消费)

解决方案:由于外部的消费者不支持灰度消息,因此我们内部生产消息的应用不管是灰度环境还是非灰度环境,共用同一套topic,这样生产的消息就不区分灰度消息。内部应用由于区分不同的环境消息,通过kdis分流服务---消费内部生产的消息,然后根据管理后台-灰度配置mcs-mimp-core应用默认的环境版本,如果是1.0,kdis就生产非灰度topic消息,如果是5.0,kdis就生产灰度消息。业务应用非灰度环境消费--kdis生产的非灰度topic消息,业务应用灰度环境消费--kdis生产的灰度topic消息

业务方改造:

  1. 新申请两套生产者topic(一套对应灰度的、一套对应非灰度的)

2)在kdis服务配置给外部用的topic和新申请的两套生产者topic

3)修改业务应用挂载文件kafka-config.json配置

相关推荐
不懂的浪漫3 小时前
mqtt-plus 架构解析(六):多 Broker 管理,如何让一个应用同时连接多个 MQTT 服务
spring boot·分布式·物联网·mqtt·架构
小夏子_riotous10 小时前
openstack的使用——5. Swift服务的基本使用
linux·运维·开发语言·分布式·云计算·openstack·swift
刘~浪地球12 小时前
消息队列--Kafka 生产环境最佳实践
分布式·kafka·linq
却话巴山夜雨时i13 小时前
互联网大厂Java面试场景:Spring Boot、微服务与Redis实战解析
spring boot·redis·微服务·kafka·prometheus·java面试·电商场景
juniperhan13 小时前
Flink 系列第8篇:Flink Checkpoint 全解析(原理+流程+配置+优化)
大数据·分布式·flink
lvyuanj13 小时前
zookeeper_cluster
分布式·zookeeper·云原生
indexsunny14 小时前
互联网大厂Java面试实战:Spring Boot、MyBatis与Kafka在电商场景中的应用
java·spring boot·面试·kafka·mybatis·电商·技术栈
嵌入式老牛14 小时前
SST专题3-1 基于光分路器的MMC分布式控制系统架构(二)
分布式·电力电子·mmc·固态变压器
刘~浪地球15 小时前
消息队列--RabbitMQ 高可用集群部署
分布式·rabbitmq·ruby
武子康15 小时前
大数据-266 实时数仓-Canal + Kafka 实现 MySQL 数据库变更实时捕获
大数据·后端·kafka