第九章 网关注册中心服务初始搭建
第九章 网关注册中心服务初始搭建
hiriki整理整个网关调用链路流程,梳理核心服务。并完成网关中心简单DDD模型结构工程的搭建,与库表连通可以查询接口映射数据。
流程梳理
- 如图所示,api-gateway-core 是最核心的通信层。那么它还需要把注册的网关接口在通信核心服务中启动起来。
- 这个启动过程首先来自于 api-gateway-sdk(类似 SpringbootStart 组件,通过注解方式管理 RPC 接口推送) 向 api-gateway-center 推送注册接口,之后在通过网关引擎 api-gateway-engine 拉取接口并在本地服务完成注册。
- 最后再调用到网关接口时,则是通过 api-gateway-core 调用到对应的 RPC 应用中。
- 那么api-gateway-sdk 并不是主要工程,没有它的是可以通过 api-gateway-admin(类似前端工程手动配置) 配置。
所以 在整个流程中 api-gateway-center、api-gateway-core 是两个核心工程,能更好的串联流程。
实现
- 之前章节都是在网关的 Netty 服务启动时,使用硬编码的方式将服务接口信息注入 Confguration 。
- 本章就将这些服务接口信息存入MySQL,并引入注册中心 (api-gateway-center)来直接管理这些服务数据,并可以将服务数据提供给 api-gateway-core 工程使用,执行具体的服务调用。
- api-gateway-center 采用简单的 DDD 工程结构模型开发,对外提供 HTTP 接口。之所以提供 HTTP 接口是因为可以引入更少的组件,也能满足需求。当然也可使用 MQ、Socket、ZK 等方式进行处理。
DDD 架构
- application 应用层:调用、组合领域服务,不做具体业务逻辑,提供接口供领域层实现具体业务逻辑。
- domain 领域层:DDD 的核心层,实现具体业务逻辑,domain 层内部还会细分各个领域,职责分离。并提供接口供基础仓储层实现,用于访问数据等。
- infrastructure 基础仓储层:提供数据库、缓存、消息队列、远程访问等能力。
- interfaces 接口层:对外提供应用层编排好的服务。
一些记录
- pom.xml 中的 Spring Boot 自带的 Tomcat 被exclude,导致项目无法正常启动。
- 项目启动后,访问 http://localhost/api/list,就可以查询到 http_statement表中的服务接口信息。
测试
ApiTest
Postman
参考资料
https://www.bilibili.com/video/BV11q4y1q74f/?vd_source=18235510e6e9b3ea091fc2ddd7be9aa1
评论
匿名评论
✅ 你无需删除空行,直接评论以获取最佳展示效果