1. 微服务的产生的历史以及应用场景 2. 微服务和单片服务(monolithic service)之间的区别 3. 软件构架从单片服务向微服务转型过程中带来的技术挑战 4. 软件构架从单片服务向微服务转型过程中带来的企业组织构架的变化和挑战 5. 如何合理地选择单片服务构架和为服务构架
为什么使用微服务架构?
拿微服务跟单片服务做对比,单片服务是所有代码程序在一个巨大的软件包里,开发部署在同一个软件包进行;微服务是把巨大软件包分出很多独立服务,主要目的是随着软件规模的扩展,会产生很多问题,比如开发速度减慢,部署速度减慢,很微小的错误导致整个网站出现问题。
微服务采用分布化构架,它把大的软件分布成小的,在每个小的里面可以有独立的开发部署可以快速迭代,比较适用于大型的互联网公司流量比较大,需要快速开发及运作新的产品。
微服务面临哪些挑战?
微服务带来的挑战从技术方面分析,第一,微服务是分布式的,分布式构架本身带来很多技术上的挑战,比如管理很多分散在不同地方的服务、代码。
第二,服务发现。可以理解为本来只有一个服务,找这个服务就可以完成。现在演变成上百个服务,必须有人管理,分配服务做什么事情,要找到服务给客户,服务发现变成很大的挑战。
第三,网络容错和延迟。可以想像当企业有几百个服务,这些服务互相有沟通,如果其中某一墙之隔的服务当负载量比较大时可能变成瓶颈,导致整个系统的延迟。
第四,测试方面的挑战。单片服务测一个,微服务要测无数多个,每测试一次挑战都非常大。
微服务带来的挑战从企业组织结构方面分析,第一,单片服务是单向对应,不同服务团队对应特定的测试团队,一个人做好给另外一个人管理非常清晰。微服务从中心划分,每一个微服务团队必须负责所有单片团队里做的事情,包括开发、测试、部署,导致微服务的团队本身必须要跟传统的有区别,微服务团队有更多独立性,可以独立决定自己做的事情。微服务团队采用一步到位导向,只要能够提供一定的功能和结果,它内部有很多自由选择权。
第二,微服务团队导致测试跟部署或者一些传统的功能会消失,小时传统功能分散在微服务管理团队中,微服务团队要做更多事,实现更智能,对微服务本身技术是挑战,对管理层也带来管理挑战。
企业的组织构架往往会反映在技术构架中,微服务在企业内部是否能够成功很大程度上取决于企业的组织构架和技术构架是否能够匹配。
微服务的未来发展之路
微服务应用场景需要有大流量、高并发,需要用户增长迅速。有不同新功能推出的企业采用这种构架,这些企业没办法在传统的单片服务上走得更远,因为单片服务没办法处理巨大的流量。越来越多的互联网公司,特别是大型的互联网公司会采用微服务的构架。甚至一些新兴的公司,如果他们可以预知到以后会有大量的用户流量也会提前采用。随着各种各样开源工具的发展,选择开始构建微服务也并不是一项大的企业难题。
浏览9015次
浏览5256次
浏览8383次
浏览7077次
浏览3271次
浏览9366次
2025-06-20 深圳
2025-04-19 南京
2025-08-15 上海
2025-10-23 上海
打开微信扫一扫,分享到朋友圈