当前位置: 首页 > article >正文

系统架构设计师—系统架构设计篇—微服务架构

文章目录

  • 概述
  • 优势
  • 挑战

概述

在这里插入图片描述

微服务是一种架构风格,将单体应用划分成一组小的服务,服务之间相互协作,实现业务功能,每个服务运营在独立的进程中,服务间采用轻量级的通信机制协作(通常是HTTP/JSON),每个服务围绕业务能力进行构建,并且能够通过自动化机制独立的部署。

优势

  1. 通过分解巨大单体应用为多个服务,解决了复杂性问题。它把庞大的单一模块应用分解为一系列的服务,同时保持总体功能不变,但整体并发却得到极大提升。
  2. 让每个服务能够独立开发,开发者能够自由选择可行的基数,提供API服务。
  3. 微服务架构模式是每个微服务独立的部署。开发者不再需要协调其他服务部署对本服务的影响。这种改变可以加快部署速度。
  4. 微服务使得每个服务独立扩展。可以根据每个服务的规模来部署满足需求的规模。甚至可以使用更适合于服务资源需求的硬件。

挑战

  1. 并非所有的系统都能转成微服务。
  2. 部署较以往架构更加复杂:系统由众多微服务搭建,每个微服务需要单独部署,从而增加部署的复杂度,容器技术能够解决这一问题。
  3. 性能问题:由于微服务注重独立性,互相通信时只能通过标准接口,可能产生延迟或调用出错。
  4. 数据一致性问题:作为分布式部署的微服务,在保持数据一致性方面比传统架构更加困难。

http://www.kler.cn/a/577629.html

相关文章:

  • 基于PyTorch的深度学习3——基于autograd的反向传播
  • 恢复IDEA的Load Maven Changes按钮
  • dify通过ollama简单配置deepseek模型
  • 如何禁用移动端页面的多点触控和手势缩放
  • 【Gaussian Model】高斯分布模型
  • 新手学习爬虫的案例
  • Centos8部署mongodb报错记录
  • Linux 基础---重定向命令(>、>>)、echo
  • 正版Windows10/11系统盘制作详细教程
  • Linux设备驱动开发之摄像头驱动移植(OV5640)
  • 尚硅谷爬虫note14
  • 【后端开发面试题】每日 3 题(九)
  • PDF 分割工具
  • 请谈谈 HTTP 中的重定向,如何处理 301 和 302 重定向?
  • 在Go语言中,判断变量是否为“空”(零值或未初始化状态)的方法总结
  • K8s 1.27.1 实战系列(六)Pod
  • 穿梭车与机器人协同作业:构建高效仓储物流系统的关键
  • 计算机网络:计算机网络的概念
  • 279.完全平方数
  • PHP的Workerman 和 Java 常驻内存的相似性