微服务网关介绍及使用场景

什么是网关?

API Gateway 是系统的唯一对外的入口,介于客户端和服务端之间的中间层,处理非业务功能提供路由请求、鉴权、监控、缓存、限流等功能(类似所有请求都会经过的过滤器,类似演唱会过安检,检票员还可以监控有多少人进场,检查进场人员是否合法)(比如下单操作需要用户登陆,在APIGatewy层判断用户是否登陆)

统一接口 智能路由(根据用户发送请求路径,请求对应服务) AB测试、灰度测试 负载均衡、容灾处理(可以知道哪个节点压力大,分发到负载小的节点服务上) 日志埋点(类似Nignx日志)(每日访问量、服务调用时间)

流量监控 限流处理、服务降级(如果后端服务超过某一个值,在请求时就阻断掉)

安全防护 鉴权处理、监控( 判断哪些服务需要用户登陆) 机器网络隔离 (网关通过内网对服务进行交互,对用户请求外网ip交互)

主流的网关

zuul:时Netflix开源的微服务网关,和Eureka,Ribbon,Hystrix等组件配合使用,Zuul2.0比1.0的性能提高很多

kong:由Mashape公司开源的,基于Nginx的API gateway

源的,基于Nginx的API gateway

nginx+lua:是一个高性能的HTTP和反向代理服务器,lua是脚本语言,让Nginx执行lua脚本,并且高并发,非阻塞的处理各种请求

经验分享 程序员 微信小程序 职场和发展