# 《API网关》第16章:网络通信配置提取

作者:小傅哥
博客:https://bugstack.cn (opens new window)

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

  • 本章难度:★★☆☆☆
  • 本章重点:提取 Netty 通信服务配置信息,包括:IP、端口、线程等,到会话的 Configuration 配置类中进行统一的维护和管理,便于外部调用方向内部传递信息。
  • 课程视频https://t.zsxq.com/080SvY1Gg (opens new window)

# 一、学习指引

技能 + 思想 + 熟练 = 牛逼的研发!

当我看到越来越多的程序员👨🏻‍💻转向架构师以后,开始逐步脱离编程开发。我知道,他完了。 一个PPT架构师是不能给出符合真实场景的优秀设计的,当你脱离细节以后你所给出的内容都是只是自我主观判断下的思想层面内容。但这份没有经过自己落地的思想,其实怎么表达都是虚的,因为编程中那些琐碎的细节才是真正的问题所在。

# 二、配置提取

对于第16章内容的处理,主要来自于在第17章开发的 api-gateway-assist-03 网关通信助手组件,对于网关通信服务的启动,可以指定配置下 Netty 服务的IP地址和端口信息。

目前这部分配置在 api-gateway-core-08 中是写死在 GatewaySocketServer 类中的,所以要对这部分内容进行处理。此外由于我们需要对 api-gateway-core 进行组件打包 Jar 给 api-gateway-assist 引入使用,那么还需要优化下 POM 配置,避免每次打包都做对 test 进行操作(这部分读者可以验证打包日志输出内容 install 打包)。

这里还有一个细节点,api-gateway-assist 引入 api-gateway-core 以后,如果希望把这个 Jar 包就打入到 api-gateway-assist 中。那么 api-gateway-core 的包结构最好是有一个区分的。但目前是 cn.bugstack.gateway 之后就是各个分层功能了,所以我们调整为 cn.bugstack.gateway.core 的结构来处理。

  • 如图所示,修改分层结构。之后对 socket 通信提取配置,放到 session 会话的 Configuration 类中维护即可。