更新时间:2025-05-27 GMT+08:00
分享

应用场景

微服务注册发现

微服务架构首先要解决的是微服务间的通信问题,相比传统的通信总线、LB方案,注册发现机制在客户端实现负载均衡,在通信效率和弹性上更具优势。CSE为SpringCloud、Dubbo、ServiceComb等开发框架提供了高可用、稳定、免运维的服务注册中心。

微服务注册发现机制主要通过服务注册中心来实现。

  • 服务注册:微服务实例在启动时,会向服务注册中心发送注册请求,将自身的元数据(如服务名称、IP 地址、端口号、版本号等)注册到注册中心。注册中心会将这些信息存储在一个内部的数据结构中,以便后续查询。服务提供者会以固定时间间隔,向注册中心发送包含服务运行状态、负载、资源消耗等健康信息的心跳消息,以此告知注册中心自身处于活动状态。注册中心接收并记录心跳消息,依据消息到达情况和内容判断服务可用性,若超过一定时间未收到心跳,会将对应服务实例状态标记为不健康,若继续超时而仍未收到,则从可用服务列表中剔除该实例。 当服务实例恢复发送心跳,可重新注册。
  • 服务发现:服务消费者直接与注册中心交互,自主获取服务提供者的实例信息,并在本地实现负载均衡。在微服务架构中,服务提供者的实例可能会因为各种原因(如扩容、缩容、故障等)发生变化。服务消费者通过监听注册中心,可以实时感知这些变化,及时更新本地的服务实例列表,确保后续的服务调用能够准确地找到可用的服务提供者。

动态配置管理

配置中心提供集中化的配置管理,实现不同环境、不同集群和不同实例的差异化配置。运行时动态变更配置,相比传统配置文件方式,更加高效和规范。

配置中心按使用方式,分为以下几种:

  • 作为部署环境配置,与部署交付服务集成,如常见的SpringCloud服务的application.yaml,可以承载应用数据源,访问私钥等配置信息。
  • 作为运维参数配置,与运维服务结合,如动态调整日志级别,连接池个数。
  • 作为业务参数配置,如动态修改商品价格折扣,动态公告,动态中奖率等。

微服务在启动过程中,会向配置中心发送请求,获取自身的配置信息。配置中心根据微服务的请求,从存储中读取相应的配置数据,并返回给微服务。微服务在接收到配置信息后,会将其解析并加载到内存中,供应用程序使用。

在配置中心,管理员针对灰度发布需求,定义专门的灰度配置项,这些配置项与正常生产配置区分开,可关联特定标识(如灰度版本号、用户分组标识 )。

  1. 微服务启动时,从配置中心拉取基础配置信息,同时携带自身标识(如服务名、版本号等)及灰度相关标识(若已确定所属灰度分组 )。
  2. 配置中心接收到微服务请求后,依据微服务携带的标识,判断其是否属于灰度范围。若属于灰度范围,配置中心从灰度配置存储区查找并返回对应的灰度配置;若不属于,则返回正常生产配置。
  3. 微服务在运行过程中,可根据配置中心的通知机制(如长连接推送、定时轮询 ),动态拉取灰度配置的更新内容。当灰度配置有变更时,配置中心及时通知相关微服务,微服务重新拉取并应用新的灰度配置。

应用网关将Ingress+微服务网关合一替代传统网关,减少部署资源,缩短请求时延

微服务架构的注册发现机制,引入了微服务网关组件来实现路由打通;容器化的网络模型,引入了Ingress网关组件;部分微服务开发框架的通讯协议,引入了BFF层进行协议转换。这些背景使得一个标准的微服务化+容器化的服务,会引入很多层网关组件。

CSE应用网关基于云原生技术栈Envoy,提供Ingress+微服务网关合一的功能,简化组网部署,免去网关运维烦恼,降低资源开销。应用网关作为微服架构的关键组件,是微服务访问流量入口,提供安全认证,日志审计,监控等功能,也是微服务治理的重要部分。

提供丰富认证鉴权和流量防护能力,降低安全接入成本

流量的认证鉴权,向上提升到应用网关层,免去业务应用承载认证鉴权逻辑的负担。同时作为外部组件,拦截非法流量,防止过度的无权限流量压力涌入业务应用组件。

CSE应用网关提供SSL证书卸载、自定义鉴权等多种认证鉴权方式,负责各个方向流量调度及安全防护与服务治理。

相关文档