栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > 架构设计

微服务架构介绍

架构设计 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

微服务架构介绍

文章目录
  • 微服务架构
    • 微服务发展史
      • 单体架构
      • 集群及垂直化
      • SOA架构
      • 微服务架构
    • 微服务架构的优缺点
      • 优点
      • 缺点
  • 参考文献

微服务架构 微服务发展史 单体架构

任何一个理论或者技术的出现往往是伴随着现实中出现了相应的问题,而产生的的一系列解决办法。往往在项目初期业务并不是很复杂、用户量不是很大,单体架构完全符合当时的需求,所以在项目初期是都是从单体架构进行开始的。

集群及垂直化

随着用户量、数据量的增加以及业务功能的逐渐完善和复杂化,单体架构造成了业务代码耦合严重、代码复用性降低、单台数据库以及服务器造成了瓶颈,为了减少业务的耦合度,对业务和数据库进行划分,并采用集群化方式进行扩展,提高系统的吞吐量。

SOA架构

我理解的SOA架构是对于一个大的业务场景需要对多个其他的应用进行整合,为了进一步加强对于共享业务的解耦,采用SOA架构可以增强共享业务的重用,实现对应用的快速整合。

下图是SOA架构和微服务架构的架构图。

微服务架构

SOA架构就是面向服务的一种解决方案,而微服务架构则是针对业务的进一步优化。微服务架构根据业务将服务的粒度进一步细分,降低了业务之间的耦合度,但随之而来也带来了一系列的问题。

微服务架构的优缺点 优点
  1. 降低代码耦合、提高复用性

    微服务架构通过对共享业务更细粒度的划分,降低了业务之间的耦合度,增加了共享业务代码的复用性。

  2. 职责专一

    由于每个服务的职责比较清晰,所以对于每个业务的开发、维护等会更加简单。

  3. 完全独立

    • 每个微服务都是独立的,完全可以每个服务采用不同的技术栈,便于团队化的开发以及技术选型的灵活性。
    • 可以动态卸载,所以单个服务出现问题可以在不影响整体服务的运行进行下线处理。
缺点
  1. 调用链复杂

    随着服务的不断增加,业务调用链路变得更加复杂,如果出现问题,为问题的排查带来了一定的难度。

  2. 服务间的通信挑战

    每个服务都是独立进行部署的,所以服务之前的通信,以及通信所造成的网络问题也成为了系统需要考虑的问题。

  3. 分布式带来的问题

    • 每个服务有可能采用不同的数据库,所以整个系统数据的一致性也是一项新的挑战,需要引入分布式事务的解决方案。
    • 为了保证对于共享数据的访问,微服务系统也需要采用一套分布式锁的解决方案。
  4. 复杂度增加

    综上所述,微服务架构系统会带来一系列的技术性问题,需要引入更多来对系统完成治理以及监控的技术,增加了系统的复杂度。

参考文献
  1. 《Spring Cloud Alibaba 微服务原理与实战》
  2. 微服务架构 vs. SOA架构
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/909253.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号