(一)认识微服务

1. 什么是微服务

微服务是分布式架构的一种。

1.1 微服务技术 != Spring Cloud

分布式架构就是要把服务进行拆分,拆分的过程会产生一系列问题需要解决,而Spirng Cloud 只是解决了服务拆分的过程中的服务治理问题,所以一个完整的微服务包含的不只是Spring Cloud。

1.2 微服务技术栈的具体内容

  1. 传统的单体架构中所有的服务都耦合在一起,随着业务的发展,后续的升级维护会变得越来越困难,所以一些大型项目都要进行拆分。
  2. 微服务会根据业务功能模块把一个单体的项目拆分成许多个独立的项目,每个项目完成一部分业务功能,后续进行独立和部署,这样的一个项目称为一个服务。通常每个项目会包含成百上千的服务,形成一个服务集群。
  3. 一个业务往往需要多个服务之间相互调用来共同完成。当业务越来越多越复杂时,这些服务之间的调用关系也越来越复杂。
  4. 为了解决复杂的调用关系,微服务中引入了注册中心这个组件。注册中心可以记录微服务中每一个服务的IP、端口以及功能等其他信息。此时,当一个服务需要调用另一个服务时,它不需要记录对方的IP,直接去注册中心就行了,从注册中心拉取对方的服务信息。
  5. 为了解决种多服务的配置文件的管理问题,微服务中引入了配置中心这个组件。配置中心可以统一的管理整个服务集群里所有的服务的配置,如果有配置信息需要变更,只需要找配置中心就行了,配置中心会通知相关的服务实现配置的热更新。
  6. 为了解决用户对服务的访问问题,微服务引入了服务网关这个组件。服务网关一方面对用户身份做校验另一方面可以把用户的请求路由到具体的服务,并且在路由的过程中还可以做负载均衡。服务接收到用户请求之后访问数据库集群,完成相关服务。
  7. 为了解决高并发访问对数据库集群带来的压力,微服务中引入了分布式缓存。缓存就是把数据库中的数据放到内存当中,内存的查询效率比内存效率更高。用户请求先到分布式缓存中,如果未命中再到数据库中查询。
  8. 简单查询可以走缓存,为了解决海量数据的复杂搜索、统计和分析问题,微服务中引入了分布式搜索功能。从此数据库主要负责数据的写操作,还有一些事务类型的,对数据安全要求较高的数据存储。
  9. 微服务中各个服务相互调用的过程中整个业务的调用链路会很长,业务的执行时长是每个服务执行时长之和,性能会有所下降。为了解决这个问题,微服务中引入了实现异步通信的消息队列组件,请求来了先调用服务A,服务A不在直接去调用并等待服务B,而是通知服务B去执行,然后服务A就执行结束了,这样整个调用链路就变短了,响应时间也变短了,服务集群的业务吞吐能力也变强了。异步通信可以大大提高服务的并发。
  10. 众多的服务使得异常的排查变得十分困难,为了解决这个问题,微服务引入了分布式日志服务组件和系统监控链路追踪这两个组件,分布式服务日志可以统计整个服务集群中的运行日志,进行统一存储、统计和分析,便于后期异常的定位和排查。系统监控链路追踪可以实时监控整个服务集群中每个服务节点的运行状态、CPU的负载、内存的占用等信息,一旦出现问题可以直接定位到具体的某一个方法、栈信息等。
  11. 为了解决众多服务的部署问题,引入了持续集成的概念:利用JenKins这样的工具进行自动化部署,JenKins可以对这些微服务进行自动化编译,然后基于Docker进行打包形成镜像,再基于Kubernetes或Rancher实现自动化部署

2. 微服务技术栈的大致分类

2.1 微服务治理

主要是Spring Cloud所包含的内容:

  1. 注册发现
  2. 远程调用
  3. 负载均衡
  4. 配置管理
  5. 网关路由
  6. 系统包含
  7. 流量控制
  8. 服务授权
  9. 熔断降级
  10. 分布式事务
  11. TCC模型
  12. AT模型
  13. Seate

2.2 缓存技术

  1. SpirngDataRedis
  2. 缓存穿透、雪崩
  3. Redis主从复制
  4. OpenResty
  5. 缓存数据同步
  6. Nginx本地缓存
  7. Redis持久化
  8. 多级缓存分层
  9. Redis分片集群
  10. Lua脚本
  11. Redis数据结构

2.3 异步通信技术

  1. MQ消息模型
  2. SpringAMQP
  3. 消息堆积
  4. 消息可靠性
  5. 仲裁队列
  6. 延迟队列
  7. 镜像集群
  8. 数据持久化

2.4 分布式搜索技术

  1. DSL语句
  2. RestAPI
  3. ES集群
  4. 集群脑裂
  5. 竞价排名
  6. 聚合统计
  7. 自动补全
  8. 地理坐标
  9. 拼音分词

2.5 DevOps(持续继承)

  1. Dockerfile
  2. DokcerCompose
  3. GrayLog
  4. Jenkins
  5. SkyWalking
  6. Docker使用
  7. Kubernetes
相关推荐
胡小禾21 分钟前
Nacos隔离机制
微服务
ai产品老杨27 分钟前
【架构深析】打破硬件壁垒:支持 X86/ARM 异构计算与源码交付的 GB28181 视频 AI 平台设计实践
arm开发·架构·音视频
heimeiyingwang42 分钟前
【架构实战】六边形架构与整洁架构实战
架构
AI服务老曹1 小时前
深度架构解析:如何构建兼容 X86/ARM 及异构计算(GPU/NPU)的级联级 AI 视频管理平台
arm开发·人工智能·架构
企业架构师老王1 小时前
注册审批申报材料自动校验:如何利用实在Agent构建非侵入式架构并降低数据误报率?
大数据·人工智能·ai·架构
踩着两条虫2 小时前
VTJ 平台六大设计模式落地实战指南
开发语言·前端·人工智能·低代码·设计模式·重构·架构
JZC_xiaozhong2 小时前
连锁餐饮企业如何统一ERP、WMS、BOH多系统权限?一套可落地的IAM架构方案
大数据·数据库·架构·iam·企业数据安全·数据集成与应用集成·多系统权限管理
ai产品老杨2 小时前
深度解析:基于异构计算架构的 AI 视频中台(支持 GB28181、RTSP、Docker 部署与源码交付)
人工智能·架构·音视频
Agent手记2 小时前
文献检索智能体:将人工5-8倍提效落地的技术关键是什么?——2026全链路落地实操与核心架构解析
人工智能·ai·架构
James_WangA3 小时前
从 OOM 到矩阵重构:一次 RAG 向量检索引擎的极限优化实录
架构