一种轻量级进程间服务隔离方法实践
系统的复杂性 我们团队负责的系统是分布式微服务部署架构,随着业务的不断发展壮大和多条线场景化的持续建设丰富,系统的业务逻辑越来越多,功能逻辑也越来越复杂。 系统早期单个应用的一个用户故事地图 系统交互 物理模型(库表)的复杂性 一个子系统的代码沉淀 在应用部署方面,目前现状我们的一个应用对应一个coding代码地址,部署以一个应用为单位发起部署申请,应用下有多个集群,集群下有多个分组,也区分灰度环境、正式线上环境。通过不同的部署编排,使用不同的代码版本部署不同的环境。 系统的复杂性来自多个方面:业务流程复杂性、架构复杂性、代码实现复杂性、物理模型(库表)的复杂性、监控运维的复杂性等。本文重点不是系统复杂性的治理,而是在现有基础上,如何低成本轻量级方式服务隔离,在大促为系统的稳定性中发挥作用。 一个容器中部署的应用进程内,提供了各种各样的服务,以在库应用为例,包含了盘点、变更、补货、移库、盘盈亏、预包等相对独立的功能,每个功能又有自己的单据-任务-结果整套业务流程。既有RESTful服务,也有JSF服务,还有MQ消息处理,另外还有定时任务。这些资源虽有...
