SpringCloud与Docker微服务架构实战读书笔记(一)

本文介绍了微服务架构的概念、优缺点,以及如何通过Spring Cloud解决单体应用的问题。讨论了微服务设计原则,如单一职责、服务自治和轻量级通信,并提到了领域驱动设计在划分微服务边界中的作用。最后,探讨了实现微服务架构的技术选型,如采用Spring Cloud作为开发框架。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微服务架构概述

单体应用架构存在的问题

单体应用:一个归档包(例如war格式)包含所有功能的应用程序

优点:比较容易部署、测试

缺点:

  • 复杂性高:一个应用百万行级别,修改代码容易牵一发而动全身
  • 技术债务:已使用的系统设计或代码难以被修改
  • 部署频率低:构建和部署的时间长→部署频率低→两次发布之间有大量功能变更与缺陷修复,出错概率比较高
  • 可靠性差:某个应用bug,可能会导致整个应用的崩溃
  • 扩展能力受限:单体应用智能作为一个整体进行扩展,无法根据业务模块的需要进行伸缩
  • 阻碍技术创新:引入新框架或新技术平台的成本非常高

如何解决单体应用架构存在的问题

微服务就是这样的一种架构模式。

什么是微服务

微服务架构应具备以下特性:

  • 每个微服务可独立运行在自己的进程里
  • 一系列独立运行的微服务共同构建起整个系统
  • 每个服务为独立的业务开发,一个微服务只关注某个特定的功能,例如订单管理、用户管理等
  • 微服务之间通过一些轻量的通信机制进行通信,例如通过RESTful API进行调用
  • 可以使用不同的语言与数据存储技术
  • 全自动的部署机制

微服务架构的优点与挑战

微服务架构的优点
  • 易于开发和维护:一个微服务只会关注一个特定的业务功能,所以它业务清晰、代码量比较少。开发和维护单个微服务相对简单。而整个应用是由若干个微服务构建而成的,所以整个应用也会被维持在一个可控状态。
  • 单个微服务启动较快:单个微服务代码量较少,所以启动会比较快。
  • 局部修改容易部署:单体应用只要有修改,就得重新部
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值