micro-services-subject
  • Introduction
  • 架构设计篇
    • 互联网架构演进分析
      • 单体架构
      • 水平分层架构
      • 异步水平分层架构
      • 微服务化架构
    • DDD领域驱动设计
    • 常见的系统分布式架构
    • 微服务架构的思路
  • docker实战篇
    • docker基础
      • 入门教程
      • 镜像、容器、仓库
    • docker安装与使用
    • 搭建docker私有仓库
    • docker swarm集群搭建
    • docker compose部署脚本
    • docker service 服务编排
    • docker stack分布式集群部署
    • docker portainer容器可视化管理工具
    • 通过maven插件打包docker镜像
    • docker应用:ELK搭建
    • docker应用:搭建rabbitmq、mysql等软件
  • SpringCloud实战篇
    • config分布式配置中心
    • Eureka注册与发现服务
    • Ribbon客户端负载均衡
    • Hystrix服务熔断组件
    • Feign声明式服务调用
    • Zuul网关服务
Powered by GitBook
On this page
  • 1 适用场景:
  • 2 单体架构的优点:
  • 3 单体架构的缺点

Was this helpful?

  1. 架构设计篇
  2. 互联网架构演进分析

单体架构

Previous互联网架构演进分析Next水平分层架构

Last updated 5 years ago

Was this helpful?

单体架构是指业务功能的实现全部在一个进程(process)内完成。用户请求的接收,相关业务逻辑的调用,从数据库中获取数据等处理全部在一个进程内完成,如图1所示,最终打包成一个WAR包,放入tomcat等web容器里运行。

1 适用场景:

单体架构适用于哪些场景?

l 创业初期,人手紧张,又需要快速完成业务需求。

l 对性能要求极其苛刻场景,哪怕请求慢1ms都无法接受(比如在金融行业,量化交易场景,响应时间就是生命线)。

图1单体架构

2 单体架构的优点:

l 请求响应延迟低,接收客户端请求,经过一次网络交互从数据库批量获取数据,其余的功能全部在进程内完成,避免了多次网络交互。

l 仅一个进程,部署和运维成本小。

3 单体架构的缺点

l 业务功能单元间耦合严重、扩展性差、技术选型单一(在一个进程内是否可以采用多种开发语言?)等。

l 单体架构最大的问题是架构粒度过粗,导致系统迭代速度快不起来。互联网业务又是持续高速发展的业务,采用单体架构很难满足需求。

单体架构需要按照某些维度进行拆分:按照系统水平方向进行拆分(水平分层架构)、按照业务功能垂直拆分(SOA架构)、既按照业务功能垂直拆分又按照系统水平方向进行拆分(微服务架构)。