课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,微服务编程开发架构成为大多数程序员都在学习的一种编程方法,而今天我们就通过案例分析来了解一下,微服务架构的优缺点都有哪些。
微服务 (Microservices) 是一种软件架构风格,它是以专注于单一责任与小型功能区块 (Small Building Blocks) 为基础,利用模组化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic) 的 API 集相互通讯。
微服务本质上是SOA架构的升级版,使用了一些新的理念及技术实现,以解决SOA架构暴露出的问题
2010年后,随着领域驱动设计、持续集成持续部署(CI/CD)、虚拟化技术、云计算、基础设施自动化以及多年来分布式架构实践过程中产生出的一些解决方案(服务注册发现、分布式配置、服务监控、服务跟踪...),使得分布式架构得到了长足的发展。问题、难点一个个被攻克,微服务架构正式在此基础上诞生了。
微服务的优点:
进一步降低了系统的复杂度。由于自动化技术的完善及领域驱动设计理念的普及,系统得到更进一步的拆分及更细的颗粒度。
组件化。更细的服务粒度,使服务拥有更高的可复用性,服务逐步组件化。
自动化、高可用。高度的自动化测试、集成、部署及监控,使系统运维逐渐由人工操作向AI智能化转型,使系统的弹性更优,可用性更高,故障率更低。
混合技术栈。团队中可以使用多种技术栈进行开发工作,针对不同业务的特点,采用更加有针对性的开发语言开发部署。
系统弹性可伸缩。由于采用了虚拟化、特别是容器化的部署,自动化技术的加入,系统具有高度的可伸缩性,使平台资源利用率更高。
微服务的缺点:
服务拆分的复杂性高。服务限界上下文[5]的错误,会导致不得不频繁的更改服务间的协作。
决策难度高。更细粒度的服务,意味着更高的灵活性及更多的组合,因此在设计开发中会遇到更多的决策,决策的失误会造成不必要的成本浪费。
学习成本进一步提高。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。