Gateway总结和面试

  1. 你们网关用的什么 ? Gateway zuul

你们网关里面写什么代码?

  • 跨域,路由(动态路由,负载均衡)ip 黑名单拦截,Token 的校验,对请求进行过滤(请求参数校验) 对响应做处理(状态码,响应头) 熔断 限流
  • 微服务的网关,可以很好地将具体的服务和浏览器隔离开,只暴露网关的地址给到浏览器
  • 在微服务网关中,可以很好的实现校验认证,负载均衡(lb),黑名单拦截,限流等。

Gateway 和 zuul 的区别 ZuulFilter

Zuul 也是 web 网关,本质上就是一组过滤器,按照定义的顺序,来执行过滤操作
二者的区别:

  1. 两者均是 web 网关,处理的是 http 请求
  2. Gateway 是 springcloud 官方的组件,zuul 则是 netflix 的产品
    三家公司:springcloud,netflix ,alibaba(nacos,sentinel,dubbo zk,seata,rocketmq)
  3. gateway 在 spring 的支持下,内部实现了限流、负载均衡等,扩展性也更强,但同时也限制了仅适合于 Spring Cloud 套件。而 zuul 则可以扩展至其他微服务框架中,其内部没有实现限流、负载均衡等。
  4. Gateway(Netty NIO)很好的支持异步(spring5.x ,webFlux 响应式编程默认是异步的),而 zuul1.0 仅支持同步 BIO zuul2.0 以后也支持异步了

Nginx 在微服务中的地位

最后简单聊一下 nginx,在过去几年微服务架构还没有流行的日子里,nginx 已经得到了广大开发者的认可,其性能高、扩展性强、可以灵活利用 lua 脚本构建插件的特点让人没有抵抗力。(nginx 的请求转发 最大并发是多个次,每秒 5w-10w 左右) 3w 左右
有一个能满足我所有需求还很方便我扩展的东西,还免费,凭啥不用??
但是,如今很多微服务架构的项目中不会选择 nginx,我认为原因有以下几点:

  • 微服务框架一般来说是配套的,集成起来更容易,如今微服务架构中,仅有很少的公司会面对无法解决的性能瓶颈,而他们也不会因此使用nginx,
  • 而是选择开发一套适合自己的微服务框架(很多公司会对现有框架进行修改)
  • spring boot 对于一些模板引擎如 FreeMarker、themleaf 的支持是非常好的,很多应用还没有达到动、静态文件分离的地步,对 nginx 的需求程度并不大。

动静分离: css js 可以放在 nginx

单体项目需要部署 对 nginx 的使用的需求还是比较大的
斗鱼 不是使用后端技术 如何实现大规模缓存 :使用 Nginx 做大规模的静态资源缓存

不是为了用技术而用技术 按照实际业务来 目的是盈利

无论如何,nginx 作为一个好用的组件,最终使不使用它都是由业务来驱动的,只要它能为我们方便的解决问题,那用它又有何不可呢?
找工作思想: 不要为了用技术而去用技术

ssm 吃一辈子 稳定 挣钱 你想技术提升 跳大厂 先入行 一年就跳槽

关于限流,面试不会直接问,而是间接来问

比如:如果在抢购过程中,用户量请求非常大,怎么确保商品不会卖超

Redis 单线程 (IO 为什么快,因为我们现在的处理器是多核心数的,redis 底层使用的是IO 的多路复用)
一般人只会在意商品卖超,而忘记了限流的重要性

Mq(限流 削峰,异步,解耦合)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值