项目位置/技术/需求
在业务服务层,我们采用服务集群负载均衡来满足服务横向扩展和故障隔离的要求
解决的问题
平台中的商品、订单、库存和支付等业务能力调用频繁,如果每类服务只部署一个实例,一旦该节点负载过高或发生故障,就会影响对应业务流程;如果调用方直接指定具体服务器地址,也不利于活动前快速扩容
解决的方法
为解决这一问题,我们将核心业务服务部署为多个实例,并通过 Nacos 管理服务注册和健康状态,服务调用时由 Dubbo 或 OpenFeign 根据实例状态选择可用节点,并结合超时、重试和熔断策略控制故障扩散
具体的实现
为解决这一问题,我们将核心业务服务部署为多个实例,并通过 Nacos 管理服务注册和健康状态,服务调用时由 Dubbo 或 OpenFeign 根据实例状态选择可用节点,并结合超时、重试和熔断策略控制故障扩散
例子
以用户提交订单为例,订单相关请求会被分发到多个订单处理实例,订单模块在校验商品和库存时,也通过注册中心选择可用服务实例完成调用
效果
通过服务集群负载均衡,项目组可以在活动前增加订单、商品和库存服务实例,活动结束后再回收资源,提高了系统并发处理能力和资源利用率