发布网友 发布时间:2022-04-19 14:45
共1个回答
热心网友 时间:2023-08-02 07:13
对于大多数的编程开发公司来说,微服务的出现可以说给软件编程开发行业带来了新的变化和发展趋势,下面我们就一起来了解一下关于微服务编程开发目前都有哪些挑战。
随着团队在这个持续演化的软件生命周期环境中不断地探索,他们所在组织的一些独特方面——他们个人的集体体验和特定的项目需求——正塑造着这个演化旅程,也就是说,并非每一条通向云原生的道路都是相同的。
应用程序和团队将利用其中一种或一些甚至是全部方法开启走向云原生的道路。
在这里,我们将专注于微服务。
并非所有尝试创建微服务的应用程序或团队(从头开始或拆解单体)都能够真正意识到微服务架构的好处。
通常,由于应用程序设计要求具备前所未有的监控和管理水平,团队一般都未能取得显著成功。
从建立能够支持分布式系统问题的环境和基础设施,到组织和培训团队、培养文化和制定运营实践,再到应用可观察性和基础设施即代码,以及融入现代DevOps监控工具,团队的一次微服务体验可能是非常混乱的。
然而,一旦形成了持续交付的稳定节奏,它们的好处(例如交付速度)却是其他企业架构应用程序所无法比拟的。
微服务可以帮助团队实现更快的交付和迭代。
微服务为独立的服务开发团队带来语言和技术选择的民主化——团队一边迭代和持续交付软件(通常作为服务),一边快速地创建新功能。
作为一种设计可扩展、可独立交付的服务的云原生方法,微服务让团队可以以佳的方式确定服务需求的优先级。
这种提供松散耦合功能的做法推动了敏捷性和迭代交付,并强制实现它们所暴露的API的“契约义务”。
来自各个方面的挑战由于每个微服务都需要对外暴露API,微服务行为的一致性和版本控制方案的一致性就成了部署微服务时需要面临的两大挑战。
大量的微服务不仅加剧了在一致的环境中创建功能、注入DevOps文化和实践的挑战,还加剧了确保多个新服务具备互操作性的挑战。
部署的微服务越多,这些挑战就越严峻。
在部署微服务时,更多的移动部件和额外的服务增加了监控的难度。
想象一下:你有一个由五个服务组成的应用程序,每个服务又由大约10个容器组成。
你对应用程序的物理拓扑及其服务间的逻辑交互的了解很快就会过时,因为它的组件会移动。
电脑培训http://www.kmbdqn.cn/建议与传统监控工具支持的静态虚拟机不同,微服务的监控工具需要支持临时构造和原生服务发现。
如果你正在使用过时的监控工具,无异于在蒙着眼睛走钢丝。