# 《拼团交易平台系统》第2-8节:动态配置开关操作

作者:小傅哥
博客:https://bugstack.cn (opens new window)
视频:https://t.zsxq.com/yHvNc (opens new window)

沉淀、分享、成长,让自己和他人都能有所收获!😄

大家好,我是技术UP主小傅哥。

在编程能力积累进阶的过程中,核心框架源码(Spring、MyBatis)的掌握是非常必要的过程之一。这些源码的组件学习后是可以帮助自身做业务功能逻辑的实现。

有些伙伴可能会觉得就做个业务开发,是不没有必要学习?🤔 其实不是的,对于源码这样的东西,往往是因为它并没有成为你熟悉的知识,所以也不会成为你设计的方案之一。当你熟练掌握后,会很巧妙的结合源码做自己的技术实现方案。

# 一、本章诉求

如何不停车就给汽车换个轮子?

这是互联网应用程序中经常干的事情,在程序运行过程中,直接动态变更某些属性配置。这些动态变更的配置包括降级和切量的开关,也包括一些功能程序的白名单用户测试。

那么对于配置中心,有 SpringCloud Config + Event Bus,也有 Nacos,还有各个大厂中会基于各类组件做的自研实现。那么本节我们先来做一个基于 Redis 发布/订阅处理动态配置的自研的实现,之后对于 SpringCloud 的动态配置变更已经有案例,小伙伴也可以学习。

案例:https://bugstack.cn/md/road-map/springcloud-bus.html (opens new window)

# 二、业务流程

如图,基于 Redis 实现一套动态配置中心 DCC 服务;Dynamic Config Control

  • 注意,本节会涉及到 Spring源码、Java 动态配置的一些编码操作,属于组件类开发是思想。如本节实现的功能也可以被独立出一个工程组件开发后被业务系统引入使用。
  • 方案,动态配置的处理可以使用 Zookeeper 的节点监听,也可以基于 Redis 的发布/订阅。本节咱们使用 Redis 这套方案,当你学习到后面的大营销项目,还会看到 Zookeeper 的实现方案。