微服务中的网关

最近读了一篇关于微服务中的网关,结合自己之前掌握的知识,简单总结一下。
学习一个东西之前肯定要先简单了解一下,我们在实际项目运用网关,大家也能说出来一些,但是为什么用它,不用网关依然可以实现功能,网关的好处是什么以及如何正确是使用会达到最佳效果呢?

1.网关是啥玩意?

网关=路由转发+过滤器
路由转发,就好比,公司前台,你来公司找谁谁谁,先经过前台,前台再告诉你怎么走,接受一切外界请求。
过滤器,顾名思义,过滤不必要的请求,提高后台系统性能。
这二者是有关系的,路由转发其实也是通过过滤器实现的,过滤了不相关的服务而已。

2.为啥用网关呢?

我们的项目不用网关也可以实现功能,比如说权限校验,我可以在每个项目都来一个,同样可以实现校验,也可以把校验写在common里,被每个项目 依赖(假如我要修改权限校验的方式,随着项目的增多,就很繁琐)。但是大家知道,网关是访问项目的入口,我完全可以在入口卡死,后台该干啥干啥,这样就减少了后台代项目的工作量,提高了效率,如果需要修改权限控制的方式,只改一处即可。

3.流程图

在这里插入图片描述
如图所示:
所有请求均经过网关,每个微服务配置一个标识,网关通过标识分发请求到具体微服务项目上,然后微服务项目在根据请求指示进行相关操作,之后返回到网关,响应给客户。

4.网关注意事项

增加了网关,就增加了一层转发,性能会下降一点但是不大,网关机器选择优质的主机,网关和微服务项目是内网,就像nginx和后台服务也是内网。
一般网关主机前可以在挂一个nginx,来个网关集群,但是这样的话一个请求就又被多转一次,最好的方式是选择一台牛逼的机器,专门做网关(经过压力测试)。

5.网关基本功能

智能路由:接收外部一切请求,转发到对应微服务上去。只转发外部请求,服务与服务之间的调用不走网关,这样的话,请求的全链路追踪、内部服务API监控、服务调用容错、智能路由不能再网关完成,如果把所有的请求都走一遍网关,那网关的压力太大,性能下降。
权限校验:网关校验一次,通过说明OK,后台还校验个锤子。
API监控:只监控经过网关的请求和网关本身的性能。
限流:和监控相配合。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值