【.com原稿】互联网的不断发展,使得微服务在大规模的互联网架构中面临着越来越多的挑战。微服务遇到了哪些技术挑战和组织挑战?以及如何应对挑战并将其转化为微服务发展的机遇?据此,记者在由记者主办的WOTA2017全球架构与运维技术峰会上,对LINKEDIN高级软件工程经理罗益民先生进行了专访。罗益民目前是LINKEDIN的高级软件工程经理。曾任乐视美国视频平台技术总监、Netflix视频内容平台技术总监。超过15年互联网公司(Linkedln、LeTV、Netflix和Paypal)技术开发、架构和团队管理经验。主要职责范围为高并发后端服务架构、微服务架构、大数据平台架构等,以及端到端的整个产品开发。感兴趣的领域是视频、支付、互联网金融和电子商务。为什么要使用微服务架构?微服务与单体服务相比,单体服务都是一个庞大的软件包中的所有代码程序,开发和部署都在同一个软件包中进行;微服务将一个庞大的软件包分割成许多独立的服务,主要目的是随着软件规模的扩大,会出现很多问题,比如拖慢开发速度,拖慢部署速度,非常小的错误导致问题整个网站。微服务采用分布式架构,将大软件分布成小软件,每个小软件都可以独立开发部署,可以快速迭代。比较适合流量比较大,需要快速开发和运营新软件的大型互联网公司。产品。微服务的挑战是什么?从技术层面分析微服务带来的挑战。首先,微服务是分布式的,分布式架构本身带来了很多技术上的挑战,比如管理很多分散在不同地方的服务和代码。第二,服务发现。可以理解为只有一个服务,找到这个服务就可以完成。现在已经演变成成百上千个服务,必须要有人管理,分配服务做事,给客户找服务。服务发现已经成为一个巨大的挑战。第三,网络容错和延迟。可以想象,当一个企业有上百个服务,这些服务之间相互通信,如果一个服务一墙之隔,在负载比较大的时候可能成为瓶颈,就会造成整个系统的延迟。第四,测试挑战。一个单片服务需要测试,需要测试的微服务数不胜数。每次考试都非常具有挑战性。从企业组织结构的角度分析微服务带来的挑战。首先,单体服务是单向通信。不同的服务团队对应特定的测试团队。很明显,一个人可以很好地管理另一个人。微服务是从中心划分的。每个微服务团队必须负责整体团队中完成的所有事情,包括开发、测试和部署。因此,微服务团队本身必须不同于传统的团队。微服务团队有更多的独立性。性,可以独立决定做什么。微服务团队采用一步到位的导向,只要能提供一定的功能和结果,内部有很大的自由选择空间。第二,微服务团队导致测试和部署或者一些传统功能的消失。传统功能的时间分散在微服务管理团队中。微服务团队要做更多的事情来实现更多的智能,这对微服务技术本身就是一个挑战。管理层也面临着管理上的挑战。企业的组织架构往往体现在技术架构上。微服务在企业内部的成功很大程度上取决于企业的组织结构和技术架构是否匹配。微服务的未来发展微服务应用场景需要大流量、高并发、用户快速增长。推出不同新功能的企业均采用该架构。这些企业无法在传统的单体服务上走得更远,因为单体服务无法处理巨大的流量。越来越多的互联网公司,尤其是大型互联网公司,会采用微服务架构。甚至一些新兴企业,如果能预见到未来会有大量的用户流量,也会提前采用。随着各种开源工具的发展,选择开始构建微服务已经不是企业的大问题。【原创稿件,合作网站转载请注明原作者和出处为.com】
