问题:system和其他模块同时发版,
部分模块初始化错误码正常,服务启动成功
部分模块初始化异常,服务启动失败

报错信息:
feign.FeignException$ServiceUnavailable:[503]
during [POST]to [http://system-server/rpc-
api/system/error-code/auto-generate]
[ErrorCodeApi#autoGenerateErrorCodeList(List)]:
[Load balancer does not contain an instance for
the service system-server]

问题分析:
因为错误码组件使用@EventListener(ApplicationReadyEvent.class)方式初始化,
这种方式默认使用main线程,当system服务在启动过程中或者关闭状态
接口调用异常,导致依赖误码组件无法启动服务

解决方案:
初始化错误码过程改为异步执行,不影响main线程 代码如下图所示

ErrorCodeLoader
ErrorCodeLoaderImpl