微服务的概念最早由Martin Fowler与James Lewis于2014年共同提出,并随着Netflix最佳实践的发布而为业界所知。如今,在国内有了大量的微服务实践案例,5月18日,网易云联合云片在武汉主办“微服务架构落地的最佳实践”活动,网易云、云片、美洽、网易云音乐等业界微服务的先行者,分享了落地实践过程中总结的干货经验。
微服务在传统领域的落地实践
微服务是一个非常复杂的演进过程,是企业在发展过程中业务遭遇痛点、解决痛点的过程。网易云微服务资深架构师袁梓超主要分享了微服务在传统领域的落地实践以及可以帮助企业解决的问题。袁梓超认为金融行业对微服务的需求,主要源于业务的驱动。比如网易云所服务的某家证券公司,在业务转型的过程中,多个线下业务在逐渐转向线上,IT部门需要快速响应业务部门的各种新需求。网易云首先基于服务拆分和共享能力的构建,帮助其做了中台服务的架构设计,提高业务响应能力;通过容器化,实现了持续集成和快速的横向扩展;通过服务发现和服务治理,实现服务间相互调用,并保证高并发情况下的服务可用性。
某安防监控领域的客户,内部的信息化系统非常多,但系统之间相对独立,互通困难,导致跨部门之间协作效率较低,管理和运维也非常困难,亟需从架构层面解决这些长期的痛点。网易云帮助该客户将公共服务抽象出来,沉淀为服务中心,可快速跨产品线整合信息,提高跨部门的协作效率;结合敏捷研发流程,加速了前端需求的响应速度;通过平台中对微服务治理的监控,构建了统一的接口标准和运维体系。
某物流行业的客户,从大件物流向个人快递业务扩展的过程中,由于系统的瓶颈问题,阻碍了业务的发展。网易云从GIS系统开始,辅助其进行微服务化改造,并提供微服务框架及工具链,最大化降低改造风险;提供DevOps工具链,帮助其建立敏捷开发体系;对应用进行容器化改造,缩短应用发布周期;还提供可视化应用运维监控平台,保证应用及平台运行的稳定性。
据袁梓超介绍,网易云之所以能帮助这些客户实现对业务灵活、快速地响应,源于轻舟微服务平台中多年的技术沉淀。作为一家曾打造多个爆款的互联网公司,每一次用户暴涨的阶段,对网易的技术架构都是非常严峻的挑战。网易从2010年开始对微服务的探索,目前已广泛采用了微服务技术栈,并在这个过程中形成了一整套微服务架构的解决方案,并沉淀为轻舟微服务平台。袁梓超在演进中详细介绍了网易云对于完整微服务技术栈的探索和实践过程。
(更多内容,请点击下载PPT查看)
Serverless之OpenFaaS
2014年AWS Lambda 的问世引领了Serverless(无服务器计算)的普及。Serverless把主机管理、操作系统管理、资源分配、扩容,甚至是应用逻辑的全部组件都外包出去,让开发者在构建应用的过程中无需关注计算资源的获取和运维,由平台来按需分配计算资源并保证应用执行的SLA,按照调用次数进行计费,有效的节省应用成本。
Serverless的实现分为BaaS(Backend as a Service)和FaaS(Functions as a Service)两种类型,云片Java技术专家刘斌认为只有开源的FaaS平台才能让Serverless飞入寻常百姓家。刘斌首先分享了云片营销云的微服务架构和产品技术架构,在营销云的架构设计中,为了满足客户的柔性需求,刘斌调研了主流的FaaS平台。基于这些调研,刘斌分享了OpenFaaS在Serverless架构设计中的定位及其带来的收益。
(更多内容,请点击下载PPT查看)
美洽微服务架构演进之道
美洽智能客服SaaS在创立4年内,服务企业客户数已超10万+,月消息数过亿,成为客服SaaS行业领跑者。美洽技术负责人吴昊分享了在美洽成长过程中,基于Golang的微服务架构的演进过程,以及微服务化是如何支撑业务的高速增长。基于美洽的实践经验,吴昊认为微服务拆分应遵循三个原则:以业务为中心,职责单一;避免循环依赖;粒度合适,功能内聚,考虑运维复杂度。微服务架构给美洽带来的好处包括:提升了开发效率和代码可维护性;Go语言的使用,也让服务性能的进一步提升成为可能;成本降低,服务器成本和人力成本都大幅下降;改动代码不需要全局发版,提高了系统稳定性。
(更多内容,请点击下载PPT查看)
云音乐服务化之路
网易云音乐从2013年4月发布第一个版本,到现在已经有数亿的用户,在这6年中,网易云音乐的后端技术架构也发生了很大的变化。网易云音乐资深开发工程师薛广顺主要分享了网易云音乐的服务化演进历程,云音乐服务治理体系,云音乐服务框架,云音乐在服务治理过程中碰到的问题及解决思路。
如何实现多机房路由?测试环境如何做服务治理?如何降低框架推广、升级的成本等。为了解决这些问题,网易云音乐经过不断探索,形成了一系列有特色的解决方案。比如,随着业务线的划分和人员规模的上升,联调的需求越来越多,版本并发度也在不断上升,随之带来了计算资源成本、环境搭建人力成本和维护成本的攀升。为解决这个问题,网易云音乐采用了环境隔离的方案,目前云音乐已经有200多套测试环境,这些测试环境相互隔离,同时又共享一套基准环境,测试的时候会优先调用同一个测试环境中的服务,服务缺失的话,会路由到基准环境。
(更多内容,请点击下载PPT查看)
有疑问加站长微信联系(非本文作者)