微服务架构将一个大型的单体应用拆分为一组小型的、松耦合的服务。每个服务运行在自己的进程中,并通过轻量级机制(通常是 HTTP API)进行通信。

常见设计模式

1. API 网关 (API Gateway)

API 网关是系统的单一入口点。它负责请求路由、负载均衡、认证、限流等功能,屏蔽了后端服务的复杂性。

2. 服务发现 (Service Discovery)

在微服务环境中,服务实例的网络位置(IP 和端口)是动态变化的。服务发现机制允许服务相互查找和通信。常见的工具有 Consul, Eureka, Etcd。

3. 断路器 (Circuit Breaker)

为了防止服务故障级联扩散,断路器模式监控服务调用的失败率。当失败率达到阈值时,断路器“跳闸”,快速返回错误,给下游服务恢复的时间。

4. Saga 模式

用于解决分布式事务问题。Saga 将一个长事务拆分为一系列本地事务,每个本地事务更新数据库并发布消息触发下一个本地事务。如果某个步骤失败,则执行补偿事务(Compensating Transaction)来回滚之前的操作。

微服务的挑战

微服务虽然带来了灵活性和可扩展性,但也引入了分布式系统的复杂性,如网络延迟、数据一致性、运维难度等。

点赞(45) 打赏

评论列表 共有 12 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部