在 Core GitHub 上有一个 Draft PR, Pull Request #309,里面已经基本列举了这次重构的所有计划以及修改注意事项.

到底为什么要专门起一个 PR 来修改?

说到底还是架构的变化

原本的 Core

只有一个程序,里面的全部模块最后都会被导入进 AppModule,这样导致的问题将会是:

  • 如果这个项目一开始就是只有一个人写的,那后续的更新也只能是那个人来更新
    • 目录与目录间紧密关联。
    • 系统间接口调用的方式耦合紧密导致难以维护
  • 对系统的任何修改都必须整个系统一起重新部署或升级
  • 在系统负载增加时,难以进行水平扩展
  • 当系统中一处出现问题,会影响整个系统

未来的 Core

使用微服务架构,优点有很多:

  • 一个仅负责一项很明确业务的微服务,肯定比一个复杂的系统更容易理解
  • 对一个微服务进行修改时,能够更容易分析到这个修改到底会产生什么影响
  • 可以更频繁的去更新核心,通过很低的集成成本,快速的发布新的功能
  • 适合应对系统业务增长,扩展性对比单一服务高了很多
  • 可以通过组合已有的微服务以达到功能重用的目的
  • 一个微服务的异常不会导致其它微服务同时异常

但,缺点也是有的:

首先,程序的复杂度会变高,代码逻辑会更加复杂,因此需要一个设计良好的监控系统对各个微服务的运行状态进行监控。由于服务与服务之间需要通信,不可避免的就是通信时延导致的响应问题

我认为利大于弊,对我们来说,这将会是一次革命性的更新!不过到那个时候可能这个博客又得重来一遍了😂