微服务
定义
微服务是一种软件架构模式,它将应用程序拆分成多个小型、独立的服务组件。每个服务都专注于特定的业务功能,具有自己的数据存储,可以独立部署和扩展。这些服务通过轻量级API(通常是HTTP/REST)相互通信,彼此松耦合。这种架构使得系统更易于开发、维护和扩展,特别适合大规模分布式应用。
涉及到的技术栈
| 技术名称 | 作用 |
|---|---|
| Spring Cloud | 分布式系统开发工具集,提供了构建微服务所需的常用组件,如服务发现、配置中心、负载均衡等 |
| Spring Cloud Alibaba | 阿里巴巴结合自身微服务实践推出的微服务开发框架,包含了Nacos、Sentinel、Seata等组件 |
| Spring Cloud Gateway | 基于Spring 5.0构建的API网关,提供路由转发、安全认证、限流控制等功能 |
| Nacos | 阿里巴巴开源的服务注册中心和配置中心,提供服务发现、配置管理和服务治理能力 |
| Sentinel | 阿里巴巴开源的面向分布式服务架构的流量控制组件,提供熔断降级、系统负载保护等能力 |
| OpenFeign | 声明式的Web服务客户端,让微服务之间的调用变得更简单,整合了Ribbon负载均衡 |
| Seata | 阿里巴巴开源的分布式事务解决方案,支持AT、TCC、SAGA和XA等事务模式 |
| SkyWalking | 分布式系统的应用性能监控工具,提供分布式追踪、性能指标分析、应用和服务依赖分析等 |