服务网关

网关分类

   开放网关

          开放api(openApi) 企业需要将自身数据、能力等作为开发平台向外开放,通常会以rest的方式向外提供,最好的例子就是淘宝开放平台、腾讯公司的微信开放平台、蚂蚁金服开放平台。 Open API开放平台必然涉及到客户应用的接入、API权限的管理、调用次数管理等,必然会有一个统一的入口进行管理,这正是API网关可以发挥作用的时候。

   微服务网关

          微服务网关,微服务网关处理了负载均衡,缓存,路由,访问控制,服务代理,监控,日志等。API网关在微服务架构中正是以微服务网关的身份存在。主要应用于集群内部、局域网环境,不对外部应用提供服务

Zuul是NetFlix开源的微服务网关,它可以和Eureka、Ribbon、Hystrix等组件配合使用。Zuul的核心是一些列的过滤器,这些过滤器可以完成以下功能。Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/api/user转发到到user服务,/api/shop转发到到shop服务。zuul默认和Ribbon结合实现了负载均衡的功能, 类似于nginx转发。
    
主要解决跨域问题,拦截请求

网关 接口权限、幂等性、安全性、防止篡改(验证签名),使用网关拦截接口实现黑名单、白名单,遵循http协议+json格式风格Rstfull

过滤器适合单个tomcat服务器进行拦截请求。
网关是拦截整个服务的所有请求。

作用:
    1是类似于Nginx的网址重定向,但zuul的重定向的一般是整个spring cloud里在Eureka注册中心的模块.
    2、zuul更重要的功能为过滤请求.
    3、网关安全控制,统一异常处理,XXS、SQL注入
    4、权限控制,黑名单和白名单、性能监控、日志打印、拦截客户端所有请求,对请求进行,负载均衡、接口调用监控等。

过滤类,继承于ZuulFilter,一般要实现上面四个方法.
filterType:过滤器的类型.
pre:可以在请求被路由之前调用
route:在路由请求时候被调用
post:在route和error过滤器之后被调用
error:处理请求时发生错误时被调用

Nginx与Zuul区别

相同点:

1)Zuul和Nginx都可以实现负载均衡、反向代理、过滤请求、实现网关效果。

不同点:
1)Nginx采用C语言编写,Zuul采用java语言编写;
2)Zuul负载均衡实现:采用ribbon+eureka实现本地负载均衡;
3)Nginx负载均衡实现:采用服务器端实现负载均衡;
4)Nginx比Zuul功能会更加强大,因为Nginx可以整合一些脚本语言(Nginx+Lua);
5)Nginx适合于服务器端负载均衡,也可以实现网关;
6)Zuul适合微服务中实现网关,而且使用技术是java语言;
7)最好建议nginx+zuul实现网关;
nginx用作实现反向代理,zuul对微服务实现网关拦截;
反向代理的目的是隐藏真实ip地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值