张晋军,京东基础架构部服务治理组负责人,架构师。
当前,微服务在京东日益深入普及,服务的数量及种类日新月异,开始出现所谓的“微服务大爆炸”,在享受微服务带来的好处的同时,又日益开始被迫承受微服务带来的负面效应,这些负面效应大致有如下几方面:
调用端依赖的服务个数及每个服务的实例数越来越多,造成调用端的启动越来越慢;
当前的软负载均衡策略遇到挑战,急需优化、调整;
跨应用、跨系统的调用越来越多,调用关系和依赖关系日益复杂,可观察性越来越差;
各服务的信息比如入参 / 出参等散落在各个地方,服务调用者无法快速、准确、全面获取这些知识,沟通成本非常高;
跨语言支持日益迫切,基于库方式将开发者绑死在单一技术栈上,与微服务理念相悖;
缺乏灵活、智能的流量控制机制及相应的运维支持手段;
缺乏灵活、适度的安全机制;
特性增加与 Bug 修复升级非常困难。
基于以上原因,故决定开发京东新一代的微服务框架及其治理平台,该平台是阿基米德系列产品中的重要一员。幸运地是遇到了服务网格技术,该技术将业务逻辑与通信及服务治理等非业务逻辑进行了彻底解耦,为全面解决上述问题提供了极大的想象空间。当然,如何在京东如此大的体量下运用“服务网格”技术,并且做到与当前的 JSF 系统兼容及平稳过渡,是一个巨大挑战。
此外,会重新定义新一代的微服务治理平台,该平台将引入服务集市的概念,为开发者提供集中、全面、准确的微服务知识体系;通过用户自定义服务属性的机制,进一步把治理平台向业务场景及业务架构拉近,使得业务在系统运维方面更加灵活自由;制定全局的服务身份体系,围绕该体系进行一系列安全控制。