API网关浅解

是什么?

类似于设计模式中的Facade模式,或者代理模式中的代理者
在这里插入图片描述
三个Service分别是用户模块,产品模块,订单模块
以往的形式:
如果在web端,想下单,那么就要检测是否登录过,所以要先访问userService的login接口,验证登陆后可以查询产品了或者可以提交订单了。
出现的问题:
第一,客户端本身不安全,所以你访问的微服务这一块对外相当于是暴露的,即我都知道你访问的是什么,怎么访问传递什么参数,对我来说完全透明。这就导致微服务的安全性降低。
第二,再提交订单的时候,同时要做三步:检查是否登录-----检查产品是否足够-----提交订单。这三个业务,是在提交订单的一瞬间完成的,但这三个业务分属三个不同问题,而且也有一定的执行顺序,这种情况下,前端就有可能等的时间相对比较长。

所以引入网关【gateway】
它就详单与后台服务与前端客户端之间的一个接口。即客户端的所有人都去访问gateway,gateway通过网关的调用分别访问User,Product,Order,至于怎么访问,是否异步访问是否要保证事务,这些东西前端都不用去管,因为前端只面向一个接口,剩下的事情都是后端的了。

作用

1.身份验证和安全:是否登录/当前环境是否安全/上传文件是否安全等一系列问题。
2.审查和检测:API网关有点类似与拦截器,请求要通过网关进行分发,分发完成后返回的时候还要经过网关,这种情况下,就可以针对一些边缘数据进行统计,如当前业务执行时间,是否需要用户登录,调用了哪些服务,针对这些行为进行检测和记录
3.动态路由:springcloud用的多一些,dubbo基本用不到
4.压力测试:双11之类的大流量活动的时候比较明显【阶梯性的灌入数据进行测试】
5.负载均衡:与dubbo功能重合
6.静态相应处理

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值