微服务架构简介
| 将单体应用拆分为多个高内聚、低耦合的小型服务。每个小服务运行在独立进程, |
| 由不同的团队开发和维护。服务间采用轻量级通信机制,独立自动部署。可以采用不同的语言及存储。 |
微服务优势
| 1.易于开发和维护。微服务相对小,易于理解;启动时间短,开发效率高 |
| 2.独立部署。一个微服务的修改不需要协调其他服务 |
| 3.伸缩性强。每个服务都可以在横向和纵向上扩展,每个服务都可以按硬件的需求进行独立扩容 |
| 4.与组织结构相匹配。微服务架构可以更好地将架构和组织相匹配,每个团队独立负责某些服务,获得更高的生产力 |
| 5.技术异构性。使用最适合该服务的技术,降低尝试新技术的成本 |
SpringCloud介绍
| Spring Cloud是一个工具组件集,快速搭建分布式环境的通用模式, |
| 比如:服务注册与发现、负载均衡、分布式配置、分布式追踪、断路器等 |
| Spring Cloud基于Spring Boot开发,每个组件都对应一个起步依赖 |
| 组件之间可以整合到一起发挥作用 |
微服务技术栈
微服务条目 |
技术 |
服务开发 |
SpringBoot、Spring、SpringMVC |
服务配置与管理 |
Netflix公司的Archaius、阿里的Diamond |
服务注册与发现 |
Eureka、Consul、ZooKeeper |
服务调用 |
Rest、RPC、gRPC |
服务熔断器 |
Hystrix、Envoy |
负载均衡 |
Ribbon、Nginx |
服务接口调用(客户端调用服务的简化工具) |
Feign |
消息队列 |
ActiveMQ、RabbitMQ、Kafaka |
服务配置中心管理 |
SpringCloudConfig、Chef |
服务路由(网关) |
Zuul |
服务监控 |
Zabbix、Nagios、Metrics、Spectator |
全链路追踪 |
Zipkin、Brave、Dapper |
服务部署 |
Docker、OpenStack、Kubernetes |
数据流操作开发包 |
SpringCloud Stream(封装与Redis、Rabbit、Kafaka等发送接收消息) |
事件消息总线 |
SpringCloud Bus |
服务注册与发现服务对比

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?