网关怎么实现高可用

来源:10-10 基于服务发现负载均衡的goRpc客户端编码实践

Echo鑫

2020-05-04

假若一个网关挂了,微服务、服务发现、配置中心都是正常运行的,用户现在就访问不到服务了,那我怎么实现高可用机制

写回答

1回答

枫荇

2020-05-06

同学,您好!

网关属于流量中心化的服务,高可用特性是网关本身必须具备的。

  1. 网关本身要做到无状态,可以多实例部署,自由横向扩展。能将负载和流量自由分散到不同的节点,来分散故障,降低故障率,提高可用性。

  2. 可以快速重启并快速预热。当网关出现异常时,可以通过快速重启来解决。

  3. 操作系统级别的进程活动和资源占用监控,在进程异常和资源占用异常时可以通过快速重启来解决。

  4. 网关本身的代码逻辑要具备闭环,系统中的任何异常都要处理得当,逻辑不要太复杂,尽量只处理2种逻辑状态(非业务状态):成功、失败(超时、网络不通等任何不确定的失败),任何已知的和未知的失败都要处理,并要返回错误,避免未处理造成进程异常退出。

  5. 网关监控,监控网关路由、降级、熔断、调用等运行逻辑状态,出现异常快速解决,提升可用性。

0
0

仿微信抢红包 Golang实战多版本抢红包系统

Golang红包系统单体版+并发版+分布式+微服务版,四大金装版、超值必修课

582 学习 · 159 问题

查看课程