微服务设计模式与开源工具应用解析
1. 服务发现模式
微服务实例启动时通常会被分配动态 IP 地址,这使得客户端向微服务发送请求变得困难。为解决该问题,可引入服务发现服务这一组件,它能跟踪当前可用的微服务及其实例的 IP 地址。
解决方案要求
- 自动注册/注销微服务及其实例。
- 客户端能向微服务的逻辑端点发送请求,请求将被路由到可用的微服务实例之一。
- 对微服务的请求需在可用实例间进行负载均衡。
- 能够检测当前不健康的实例,避免将请求路由到这些实例。
实现策略
- 客户端路由 :客户端使用与服务发现服务通信的库,以确定要发送请求的合适实例。
- 服务器端路由 :服务发现服务的基础设施还会公开一个反向代理,所有请求都将发送到该代理,由其代表客户端将请求转发到合适的微服务实例。
2. 边缘服务器模式
问题
在微服务系统中,通常希望将部分微服务暴露给外部,同时隐藏其余微服务,并且要保护暴露的微服务免受恶意客户端请求的影响。
解决方案
在系统中添加一个边缘服务器组件,所有传入请求都将通过该服务器。边缘服务器通常像反向代理一样工作,并可与发现服务集成以提供动态负载均衡功能。
解决方案要求
- 隐藏不应暴露在其上下文之外的内部服务,仅将请求路由到配置为允许外部请求的微服务。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



