Springcloud之Zuul网关

前言:

  1. 网关API(接口)Gateway(网关)~~~接口网关注意:接口没有界面。
    2.接口什么背景下产生?
    在面向服务架构和微服务背景下产生 目的是为了解耦。
    3.接口如何分类
    开发接口:
    其他机构合作伙伴进行调用(必须在外网访问) 蚂蚁开发平台,微信 公众号开发 需要通过appid+appsocet 生成accessToken进行通讯。对接支付开发,微信开发,目的可以授权一下接口权限OAuth2.0协议方式,第三方联合登陆。
    内部接口
    一般只能在局域网中进行访问,服务与服务之间关系都在同一个微服务中
    目的是为了保证安全问题。
    现在让你去设计一套公司项目的接口,你会如何设计
    考虑:
    接口权限(开放接口| 内部接口),考虑幂等性,安全性(Https) 防止篡改数据(验证签名),使用网关拦截 考虑高并发对接口服务实现保护 服务降级,熔断,隔离之类,最后使用统一API管理平台 api swagger


    图一

过滤器与网关区别是什么?

过滤是拦截单个tomact服务器请求
网关是拦截整个微服务所有请求。
网关分为内网关和外网网关
Nginx与网关区别在什么地方?
Nginx也是可以实现网关?那么为什么不用Nginx实现呢
因为微服务网关是针对与整个微服务实现统一请求拦截,网关基本上都采用自己熟悉语言开发的,目的方便易学。

Nginx和Zuul区别

相同点:
Zuul和Nginx都可以实现负载均衡,反向代理 ,过滤请求 ,实现网关效果。
Nginx采用C语言编写
Zuul采用java语言编写

Zuul负载均衡实现:采用ribbon+eureka实现本地负载均衡.
Nginx 负载均衡实现:采用服务器端实现负载均衡。
Nginx 比Zuul功能会更加强大,因为Nginx整合一些脚本语言(Nginx+Lua)
Nginx适合与服务器端负载均衡+也可以实现网关
Zuul适合微服务中实现网关,而且使用技术是java语言。
最好建议nginx+zuul实现网关
nginx作用实现反向代理
zuul对微服务实现网关拦截

1.互联网公司中网关都是集群
Zuul如何搭建集群版本 Nginx+Zuul 一主一备 或者轮训多个
2.在微服务中,所有服务请求都会统一请求到Zuul网关上。

1.网关对所以服务会话进行拦截
2.网关安全控制 统一异常处理,xxs,sql注入。
3.权限控制,黑名单和白名单,性能监控,日志打印。

你可能感兴趣的:(Springcloud之Zuul网关)