Server

Architecture

逻辑视图,Software Load BalancerNginx

overall-architecture

Module

Module Desc Note
Config Service 服务对象:Client
配置获取接口:推送 + 拉取
Admin Service 服务对象:Portal
配置管理接口:修改 + 发布
Client 应用获取配置,实时更新
通过 Meta Server 获取 Config Service 服务列表
客户端软负载
Portal 配置管理界面
通过 Meta Server 获取 Admin Service 服务列表
客户端软负载
Eureka 服务注册与发现
Config Service 和 Admin Service 向 Eureka 注册并保持心跳
Config Service 一起部署
Meta Server Eureka Proxy
逻辑角色,与 Config Service 一起部署
Client 通过域名访问 Meta Server 获取 Config Service 服务列表
Portal 通过域名访问 Meta Server 获取 Admin Service 服务列表
Eureka 只有 Java 客户端
主要是为了支持多语言

部署视图,Nginx 需要配置的 upstream:Meta Server + Portal

image-20221120223535438

Domain Model

image-20221120224219477

AppNamespace:应用的 Namespace 的元数据

image-20221120224538070

Authority Model

基于 RBAC

image-20221120224727281

Real-time push

借助数据库实现异步通知(Admin Service -> Config Service)

image-20221120224937601

image-20221120224947360

Client

Architecture

image-20221120231907885

Highlight

Point Note
推拉结合 保持一个长连接,配置实时推送
定期拉取配置(fallback
数据缓存 内存 + 磁盘
事件通知 订阅配置更新通知

Reference

  1. 微服务架构实战 160 讲