
简介: 打破整体模型并切换到微服务架构似乎并不那么困难,但是在许多情况下,它低估了整个架构的复杂性.
通常,将应用程序作为一个整体进行开发,然后打包到一个应用程序包中,然后作为一个整体部署到服务器. 随着业务运营的发展,有必要保持整个体系结构的复杂性,以及业务和产品的复杂性,从而导致开发速度落后. 后来,公司开始寻找更具可持续性,灵活性和易于集成的替代解决方案.
尽管决心转换为微服务架构,但在理论上和实践中似乎并不那么困难,但许多公司低估了整体复杂性并犯了灾难性的错误.
微服务体系结构代表一种小型,自动化和自运行的服务,该服务执行单个业务功能. 我们发现了一张更经典的图片,显示了通过微服务API网关访问的多个微服务.

![]()
如果您想从单片架构快速过渡到“新时代”微服务架构应用架构设计原则,那么仓促的行动将导致极大的跨越式错误. 我认为您不希望将成本增加一倍,而在软件生命周期中遇到致命问题.
以下是我们为您提供的微服务应遵循的12种最佳实践.

具有独立的数据存储
在准备迁移到微服务之前,有必要弄清楚组成不同的微服务以用于单独的数据存储. 可以使用CQRS(命令和查询责任分离)体系结构模型来实现,以确保每个微服务的数据都是独立的和私有化的.

如果每个服务不能成为数据的唯一所有者,也就是说,多个服务访问私有,则会导致耦合问题.
当然,这并不意味着不能在微服务之间共享数据,它们只能通过API进行.
建立一支敬业的团队
微服务只有在成为云原生应用程序时才会真正发挥作用. 本地云应用程序需要相对快速地发布并实时. 如果有停机时间,那么即使是一秒钟也会给业务造成重大损失.
我们需要按计划线性高效地进行扩张,我们需要一支敬业的团队.

对于开发人员来说,已经很难在大型应用程序的每个端上掌握解决方案. 切换技术堆栈和编程心态需要一段时间. 有一支熟悉管理,了解细微差别并确保最大效率并遵循微服务最佳实践的专家团队.
自动独立部署
如果无法将整体架构分解为单个微服务,则没有任何价值. 另外,有必要确保自动执行构建和发布过程应用架构设计原则,这不仅有助于开发人员减少交付时间,而且可以加快发布速度并改善部署过程.
利用REST API的优势
使用和创建REST API来插入微服务的翅膀,它不需要开发和安装其他软件或库,并且不需要绑定任何特定的方法或资源,这为我们提供了极大的灵活性.

REST API可以处理多种类型的调用,返回不同的数据格式,并正确实现超媒体和其他功能.
了解文化变化
从单片架构到微服务的过渡对于高级开发人员而言并不是一个平稳的迁移. 人们过去常常在端到端测试环境中工作,而在涉及微服务时,人们需要突然转向大范围的一小部分,并且管理层希望可以最大化回报.
您需要在这里了解到,这不仅是业务上的改变,而且是文化上的改变. 开发人员需要对新工作环境的期望和公司愿景有一定了解,以便更好地进行日常开发.
将迁移分为多个步骤
总体体系结构通常涉及一个存储库,其中包括部署,监视和其他复杂任务. 团队不可能一次完成更改或迁移,而错误和错误将被遗留下来.
最好的解决方案是保留(临时)单片架构并开发独立功能作为微服务. 一旦团队清楚了新流程并拥有了新的微服务,就可以弄清楚如何将旧架构转换为组件并一个接一个地迁移.
作者: 老夏
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-263907-1.html
联合国是什么