前言
hi~大家好,今天分享一下微服务/分布式常见的面试问题,不过这些问题都是针对应届生的,对于比较senior的求职者应该会深入很多。题目都是来自2021大厂真实面经!
没有了解过分布式/微服务的老哥们也不要担心看不懂这篇文章,内容我都是大白话讲出来的,非常易懂,带你速览分布式/微服务。
文末有福利,记得查看哦!
概览(看看自己能回答几题):
1.为什么要网关?
2.你知道有哪些常见的网关系统?
3.限流的算法有哪些?
4.为什么要分布式 id ?
5.分布式 id 生成策略有哪些?
6.了解RPC吗?
1.为什么要网关?
微服务下一个系统被拆分为多个服务,但是像 安全认证,流量控制,日志,监控等功能是每个服务都需要的,没有网关的话,我们就需要在每个服务中单独实现,这使得我们做了很多重复的事情并且没有一个全局的视图来统一管理这些功能。
综上:一般情况下,网关一般都会提供请求转发、安全认证(身份/权限认证)、流量控制、负载均衡、容灾、日志、监控这些功能。
上面介绍了这么多功能实际上网关主要做了一件事情:**请求过滤 。**权限校验、流量控制这些都可以通过过滤器实现,请求转也是通过过滤器实现的。
2.你知道有哪些常见的网关系统?
我所了解的目前经常用到的开源 API 网关系统有:
- Kong
- Netflix zuul
下图来源:https://www.stackshare.io/stackups/kong-vs-zuul
可以看出不论是社区活跃度还是 Star数, Kong 都是略胜一筹。总的来说&