
近十年,中国互联网发展的速度越来越快,互联网科技颠覆了越来越多的传统行业,我们的衣食住行随着互联网科技的进步,发生了翻天覆地的变化。在这个大潮中,越来越多新兴的公司如雨后春笋般的冒了出来,他们的业务增长非常快,公司规模也越来越大。这得益于中国经济的高速增长和互联网的快速发展。
在公司发展初期,为了快速的进行业务拓展,大都不考虑成本投入,运营维护以及技术沉淀等问题。所有的指标导向都是业务的快速发展,尽可能的抢占市场份额,获取足够多的用户数量。
在公司发展到一定阶段后,市场逐渐趋于稳定,先期快速扩展的各种问题会逐步暴露出来。从技术层面来讲,如果可以形成公司级别的统一开发框架,会在实际的生产过程中带来非常大的收益。
当存在公司级别的统一开发框架(平台),项目团队基于该平台进行自身项目的研发,不再需要关注于底层技术实现,只需要关注业务即可。当存在核心同事离职时,平台的研发同事可以对新进入项目的同事进行相关培训,不会导致青黄不接的事情发生。而且,专注于平台的同事为了更好的满足项目组的技术需求,对平台进行不断的改进,从而达到技术积累和沉淀的目标。
统一开发框架(平台)定位于技术层面,其主要目的是为统一公司内相关产品研发和项目实施使用的技术架构和开发工具,有效提高统一技术支持力度,形成持续的技术积累手段,提升技术人员的利用率并降低对人员的依赖性,最终提升软件的规模化、流水线式的生产能力。

下图为服务注册发现中心 EurekaPlus 的截图,可以手动控制服务注册中心的节点状态,从而支持蓝绿部署。

下图为分布式任务调度框架原理。执行器在启动时将任务接口注册到分布式数据中心,编排中心从分布式数据中心获取执行器信息进行编排,然后把编排信息保存到数据存储中,调度中心从数据存储中获取信息对执行器进行远程调度。

如何在公司推进统一开发框架(平台)的建设,并不是一件简单的事情。以我个人的经验,从分工和运作方式上来讲,我主要着重把统一开发框架(平台)的工作分成三个部分。
开发示例、技术支持和技术规范。编写完整的开发示例,对很多新接触统一开发框架的同事来说,有一份完成业务开发是非常重要,不仅仅可以指导你如何进行业务代码的编写,同时还能够指导你如何编写出正确、高效的代码。还需要对很多同事进行技术培训与技术支持支持,都是统一开发框架(平台)团队应该完成的工作。
服务运维。统一开发框架(平台)提供了很多公司内部的服务,比如服务注册发现中心、配置中心、监控中心、链路中心、健康监测中心等。这些都需要统一开发框架(平台)团队进行运维。
新组件、新产品的研发。前一章节提到的 API 网关、分布式任务调度框架、服务注册中心 Plus 等。都是统一开发框架(平台)团队的工作范围。
虽然建设公司级的统一开发框架(平台)会在实际的生产过程中带来非常大的收益。但未必适用于所有情况,考虑到某些项目产品的特殊性,并不能一概而论。