生成代码后的框架结构以及调用关系如下,以产品服务为例。
同时约定了系统的访问流程和服务之间的调用原则,由于服务之间通过接口调用,原则只要上发布出来的服务都可以被调用,会形成A调用B,B也有可能调用A的循环依赖调用。所以团队的约定如下:基础服务(basic)层主要做数据库的操作和一些简单的业务逻辑,不允许调用其他任何服务;聚合服务(back)层,允许调用基础服务层,完成复杂的业务逻辑聚合操作;不允许调用其他back层。
老系统逐步的往新架构来迁移,新平台的TPS有非常大的提升,平台运行的稳定性也有较大程度的提升。工程师的“痛”也逐步减轻,加班频率也降低了很多,惊喜的发现部分人员的发量竟然增加了不少。然而,平台是在一直演变的,没有哪一种架构能永远保持不变,随着时间的推荐,用户量还在不断的增加,同时新项目数量也逐步增加,新架构也逐步暴露出很多问题。