最近游戏开发业务少了,我就开启了重构运营系统的行动了。先说一下背景,运营系统是个不少人接手过的项目,代码风格迥异,由于团队没有review机制,之前后台的同窗都是怎么方便怎么来,完成任务就万事大吉了。spring
由于公司的业务,这里不会贴上代码,大体描述一下在代码结构上主要存在的问题:后端
按照上面的问题,反推重构方案:api
由于只是代码结构变化,并无修改业务的实现,经过现代的IDE是能够直接进行操做的,可是须要逐步review和按模块进行version control。架构
运营系统指责单一,业务量不大而且按照实际的业务状况不须要作服务拆分和集群,资源占用太大的调度能够单独拆分出来,开多个实例处理。这个小型系统的形状其实跟游戏后端同样,在宏观上是十份内聚的。(目前研发的游戏也是单一进程的)但从微观上讲,良好组织的代码应该像组件化、服务化的服务同样,对内聚合、对外松散。从宏观上看,大型服务架构系统其实也应该这样。每一个服务就像游戏开发的组件、小型系统的模块同样,是独立自治的。只不过业务的调度不会在一个进程、单机内,多是多点的、集群的甚至多地的。得益于中间件技术,将这些服务按实际的商用业务串联起来。在不一样的角度,能够说它们按结构来看是极度松散的,也能够说他们高度内聚的。按宏观上来看,后端开发实际上是类似的,只是面对实际要解决的问题各有各的不一样,按实际状况选择最优解罢了。本人拙见,贻笑大方。dom