什么是微服务

微服务

什么是微服务架构

  1. 微服务是一种架构模式,它提倡将原来独立的单体应用,拆分成多个小型服务。
  2. 这些小型服务各自独立运行,服务与服务间的通信采用轻量级通信机制(一般基于HTTP协议的RESTful API),达到互相协调、互相配合的目的。
  3. 被拆分后的服务都围绕着具体的业务进行构建,每个服务都能独立地进行开发、部署、扩展。
  4. 由于相互独立且采用轻量通信机制,因此各个小型服务能够使用不同的语言开发 ,也可以使用不同的数据存储技术

微服务的特点

  1. 服务拆分
  2. 独立运行
  3. 轻量级通信
  4. 技术异构

为什么要使用微服务

  1. 业务规模的增长
  2. 敏捷开发与快速迭代
  3. 技术储备完善
  4. 微服务架构生态的完善

架构演进

  1. 单机架构
  2. Tomcat与数据库分开部署
  3. 引入本地缓存和分布式缓存:解决数据库的瓶颈
  4. 引入反向代理实现负载均衡,解决tomcat的瓶颈
  5. 数据库读写分离,解决数据库的瓶颈,采用主从架构
  6. 数据库按业务分库,解决用户热点访问,把热点库多加节点
  7. 把大表拆分为小表,解决比如每秒有5000条数据产生,但是单台数据扛不住,对写进行分散
  8. 使用lvs或F5来使多个Nginx负载均衡,解决系统压力到来,单台nginx的性能问题,lvs解决几十万的访问量
  9. 通过DNS论询实现机房的负载均衡,解决当lvs访问压力达到上百万时候,可以横向扩展机房
  10. 引入NoSQL数据库和搜索引擎等技术,(es、mongoDB、HDFS)
  11. 大应用拆分为小应用,解决整合了过多的中间件组件,业务变得复杂
  12. 复用的功能抽离成微服务,服务之间通过HTTP协议进行访问,dubbo,"分布式架构"或者"服务化"

服务架构的演进

  • 在微服务架构这个概念变得流行之前,技术架构也在不断优化和演进
  • 在微服务架构这个概念"火"起来之前,人们会用"分布式服务"或"服务化"来概括这种将大系统拆分为小系统的架构模式
  • 微服务架构只是众多技术架构中的一个,适合自身业务系统和技术团队的才是最好的架构

微服务架构的优缺点

微服务的优点

  1. 更易于开发和维护,开发者只针对一个服务,单独的服务开发和维护更简单
  2. 快速迭代+灵活,单机项目有支付、商品项目全在一块,随便哪块分支、冲突、测试、升级很难,服务之间耦合度变低,随便哪个服务出问题也不会影响到全局
  3. 系统伸缩性增强,比如:商品服务访问量最多,增加商品服务的服务器
  4. 技术选型灵活,根据业务场景和团队特点技术栈选型
  5. 错误隔离,当前商品服务down机了,不会影响订单服务,局部的错误只影响局部,不会影响全局

微服务的缺点

  1. 落地一个微服务架构项目比较复杂
  2. 服务依赖和调用链路更复杂
  3. 数据一致性问题
  4. 问题排查的链路加长
  5. 学习成本高
相关推荐
FII工业富联科技服务5 分钟前
GPT-6 Astra发布,Agent的竞争开始从“会调用工具”走向“完成完整工作”
大数据·人工智能·gpt·架构·机器人·制造
这个DBA有点耶3 小时前
VLDB 2026核心议题解读:当负载被AI改写,数据库的内核该往哪走?
数据库·架构·aigc
分布式存储与RustFS3 小时前
RustFS 1.0 GA 前的生产验收清单:从 rc.1 到 GA 该准备什么
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
天远API4 小时前
零信任架构实战:基于天远行驶OCR证识别构建自动化智能停车网关
运维·人工智能·架构·自动化
冗量4 小时前
Pi Agent Chord 架构深度剖析
架构·agent·pi agent
敲代码的嘎仔4 小时前
自己设计了一个兑换码算法:自增ID + Base32转码 + 按位加权签名 + 异或混淆,面试被追问细节时终于不用慌了
java·数据库·mysql·算法·微服务·面试·职场和发展
好好生活中4 小时前
把“信任”设计进系统:从胖东来的前置服务,看服务型组织的架构思维
架构
m0_587383004 小时前
外卖CPS系统开发实战:从架构设计到运营落地全指南
java·spring·小程序·架构·需求分析
Henry-SAP5 小时前
SAP PP 反冲机制业务解析
人工智能·云原生·sap·erp
头茬韭菜5 小时前
第 0 篇:「Mem0 深度分析与文档系列计划」—— 记忆层基础设施的源码级解读路线图
架构·mem0·agent长记忆