avatar

一条在知识海洋的咸鱼

这个家伙很懒,啥也没有留下😋

  • 首页
  • Linux
  • OCJP
  • Java核心技术卷
  • J2EE相关标准
  • 深入理解Java虚拟机
  • NIO与SOcket编程技术指南
  • Java多线程编程核心技术
  • Redis开发与运维
  • Spring Cloud Alibaba 微服务原理与实践
  • DevOps
  • Docker
  • MySQL必知必会
  • AI自学路线
  • Spring Boot 编程思想(核心篇)
主页 微服务发展史
文章

微服务发展史

发表于 2021-02-23 更新于 2026-06- 10
作者 Administrator
6~7 分钟 阅读
  • 从单体架构到分布式架构的演进
    • 单体架构
    • 集群及垂直化
    • SOA
    • 微服务架构
      • 微服务和SOA区别
  • 微服务架构的挑战
    • 优点
    • 挑战
  • 如何实现微服务架构
    • 微服务架构图
    • 微服务架构下的技术解决问题

从单体架构到分布式架构的演进

单体架构

通常来说,如果一个war包或者jar包里面包含一个应用的所有功能,则为单体架构

集群及垂直化

  • 按照业务维度垂直拆分成多个子系统,每个子系统由单独维护部署(包括数据库等)
  • 对Tomcat服务器进行集群部署,把多台Tomcat服务器通过网络进行连接组合,形成一个整体对外提供服务

SOA

SOA(Service-Orientend Architecture)面向服务架构。
把一些通用的、会被多个上层服务调用的共享业务提取成独立的基础服务,降低耦合,可以重用

微服务架构

针对可重用业务服务的更进一步优化,可以把SOA看成微服务的超集,多个微服务可以组成一个SOA服务

微服务和SOA区别

  • SOA关注的服务的重用性(服务的复用)及解决信息孤岛问题
  • 微服务关注解耦(降低耦合度)
  • 微服务更关注DevOps持续交付(微服务划分粒度更细,与容器化技术结合更紧密)

微服务拆分的粒度没有统一标准,需要在粒度和团队之间寻找平衡。粒度越小,服务独立性更好,但是管理更复杂

微服务架构的挑战

优点

  • 复杂度可控:一个服务只需要关注一个特定的业务领域,并通过定义良好的接口清晰表述服务边界
  • 技术选型灵活:解耦后可以结合业务特性自由选择技术栈
  • 可扩展性强
  • 独立部署:某个微服务发生变更时不需要重新编译部署整个应用
  • 容错性:故障隔离再单个服务中

挑战

边界上下文划分、数据库拆分、API交互、大量的微服务开发和维护、运维等

  • 故障排查:交互链路比较长、日志多、定位问题根源可能比较困难
  • 服务监控:需要对每一个微服务都实现监控,开销大
  • 分布式架构的复杂性:远程通信可能会由于网络延迟故障导致程序的复杂度增加
  • 服务依赖:各个服务之间会存在更多的依赖关系,需要考虑相关改变对不同服务的影响,使系统整体更为复杂
  • 运维成本:多个微服务的正常运行、扩容、故障处理、快速部署和统一管理等

如何实现微服务架构

微服务架构图

image.png

微服务架构下的技术解决问题

微服务治理,将服务之间的依赖转化为服务对服务中心的依赖。

  • 分布式配置中心
  • 服务路由
  • 负载均衡
  • 熔断限流
  • 链路监控
Spring Cloud Alibaba 微服务原理与实践
微服务
许可协议: 
分享

相关文章

3月 8, 2021

微服务网关之Spring Cloud Gateway

微服务实现之后,客户端虽然能通过调用多个服务实现数据的获取,但是会存在问题客户端需要发起多次请求,增加了网络通信成本及客户端处理的复杂性服务鉴权会分布在每个微服务中处理不同的服务采用的协议可能不同,http、RPC等,需要进行适配API网关的作用统一认证鉴权包含身份和权限2部分鉴权过程灰度发布(金丝

3月 6, 2021

RocketMQ分布式消息通信

一个业务服务会被拆分成多个微服务,各个服务之间相互通信完成整体的功能,通常有:Http/RPC通信优点:实时通信缺点:服务之间耦合性高消息通信优点:降低耦合,提高系统处理能力缺点:非实时通信提高系统处理能力为非核心业务从主流程中剥离出来异步处理,节省核心业务资源时间什么是RocketMQ什么是Roc

3月 5, 2021

分布式事务

数据库事务单个逻辑工作单元执行的多个数据库操作,要么同时成功,要么同时失败,满足ACID特性A:原子性,事务为原子工作单元,不可分割,要么全部成功,要么全部失败C:一致性,事务完成时,所有数据都必须保持一致I:隔离性,并发事务的修改相互隔离D:持久性,事务成功后,对系统的影响是永久性的分布式事务服务

下一篇

微服务解决方案之Spring Cloud

上一篇

对象的共享

最近更新

  • 55 异常兜底:工具失败、非法输出、空检索与超时
  • 54 Agent Memory:短期记忆、用户上下文与摘要
  • 53 Human-in-the-loop:让关键动作暂停、确认与恢复
  • 52 工单 Tool:字段校验、创建结果与失败补偿
  • 51 订单 Tool:Mock、鉴权、状态解析与脱敏

热门标签

java基础 微服务 maven Spring Tomcat DDD Linux Linux基础 SQL基础 数据结构算法

目录

©2026 一条在知识海洋的咸鱼. 保留部分权利。

使用 Halo 主题 Chirpy