网关(gateway)
作用
- 路由转发:接收外界请求,并将请求转发到后端服务
- 过滤器:网关服务可完成一系列横向的功能。比如:鉴权,限流,请求监控,请求日志等
需要网关的理由
实现:
以权限控制为例,实现横切功能三种方式:
- 每个服务都实现一遍
- 实现一个进行权限控制的公共服务,每个服务都引用公共服务
- 在网关服务中完成请求拦截并进行鉴权
分析:
第一种:容易导致代码冗余
第二种:每个服务都引入公共服务或包,将导致代码量增加;各服务与公共服务的耦合性太高,一旦公共服务修改时,所有有引用的服务都需要调整
第三种:仅在网关服务中实现鉴权功能,修改鉴权功能的话后端服务无须关心
综上所述,这就是为什么我们需要微服务需要网关服务
技术选型:
- 开发语言:
- 微服务基础框架:
- 网关基础组件:
- 服务注册中心:Etcd 、Consul
- 权限校验:、JWT
- API监控:
- API统一日志收集:
- 压力测试:Jmeter