引言
经过第一周的学习,对各类常见服务接入网关有了比较清晰的认知,在此做总结性梳理。
知识地图
一、后端服务接入soul网关流程:
注意事项:
- 注意核对admin与网关配置策略是否保持一致
- 注意网关与后端服务配置的注册中心是否一致
- 注意soul-client配置与注解的配合
二、网关数据同步原理:
三、部署结构
四、通用活动流(后续补图)
- 后端服务注册服务到注册中心(HTTP服务不需要)
- 后端服务注册元数据到admin
- admin同步元数据到网关
- 用户发起http请求到网关
- 网关根据选择器和规则匹配到对应的后端服务
- 网关请求真正地后端服务
- 后端服务返回响应给网关
- 网关返回响应给用户
五、soul-client-starter开发套路
soul-client-starter的核心是对应的SoulXxxClientConfiguration配置类,以下是具体工作:
-
指定配置前缀,构造Config对象
@Bean @ConfigurationProperties(prefix = "soul.xxx") public SoulXxxConfig soulXxxConfig() { return new SoulXxxConfig(); }
-
自动注入配置,构造后Bean处理器
@Bean public XxxClientBeanPostProcessor xxxClientBeanPostProcessor(final SoulXxxConfig soulXxxConfig, final Environment env) { return new XxxClientBeanPostProcessor(soulXxxConfig, env); }
-
自动注入配置,构造容器注册监听器
@Bean public ContextRegisterListener contextRegisterListener(final SoulXxxConfig soulXxxConfig, final Environment env) { return new ContextRegisterListener(soulXxxConfig, env); }