当前微服务发展至今,仍然存在几个问题:
业务开发者需要感知复杂基础设施,启动慢(分钟级),研发效率低
拆分微服务的成本高:拆分后每个子应用都包含公共部分(框架、中间件等),资源成本高,且需要长期维护
拆分微服务的敏捷度与业务、组织发展的敏捷度不一致,如何合理的拆分微服务始终是个老大难的问题,拆得多造成资源和管理成本,拆的不够造成协作效率问题
……
蚂蚁在研究了业务痛点后,采用分层思维模式,在传统微服务只是横向拆分基础上,改进成同时进行纵向和横向拆分,纵向拆分成基座和模块,使得模块不占用额外机器(节省容量),模块开发者只关注业务自身(认知负荷低);横向拆分成多个模块,让模块开发者可以独立迭代互不干扰(协作效率高)。
当前蚂蚁内已经全部 BG 共 40W Core 应用使用该新型应用架构模式,构建产物从原来的 GB 下降到 MB, 业务启动降到秒级,平均迭代效率提升 10 倍。
即将于 9 月 3-5 日举办的 QCon 全球软件开发大会·北京站,邀请到蚂蚁集团技术专家赵真灵前来分享以上经验。他于 2018 年加入蚂蚁集团, 曾负责基于 K8s Deployment 的应用发布运维平台建设、K8s 集群的 Node / pod 多级弹性伸缩与产品建设。当前主要负责应用架构演进和 Serverless 相关工作,完成蚂蚁新应用架构研发框架与平台的设计落地,全面应用于蚂蚁集团内部业务线,为线上 40W core 提供秒级验证发布能力,获得 2022 年信通院云原生技术创新奖。同时,也是 SOFAArk 社区的开发和维护者以及 KNative 社区的贡献者。
为什么我们推荐你来听这个分享,因为——
现有应用可以平滑接入使用该方案,改造成本低
提升效果明显,从原来分钟级启动降至秒级甚至毫秒级,且可以多个业务并行迭代
支持业务按需进行微服务的拆分,支持平滑回退或演进成独立微服务
但赵老师坦言,在实践过程中,该方案也存在一些痛点——
在 Java 技术栈里,现有技术体系大多都是基于单 ClassLoader 来实现的,而该模式是基于多 ClassLoader 的,存在一定的不一致情况
多个模块合并部署在一个 JVM 内,有资源抢占
在本次分享中,他也会分享相关应对经验,欢迎各位前来交流。此外,据了解,该方案正在开源中,感兴趣的同学可以入群了解详情,钉钉群号:24970018417。
活动推荐
近 100 名讲师、近 30 个精彩专题、8 种交流活动,QCon 北京 2023,相约 9 月! 现在购票,享 9 折特惠,立省 ¥880!咨询购票请联系 18514549229(微信同手机号)。
评论