1.微服务网关的优点
- 提供了统一的访问入口,降低了服务的受攻击面积。
- 提供了统一的跨域解决。(虽然Nginx可以解决跨域问题)
- 提供了统一的日志记录,可以进行统一的监控。
- 提供了统一的权限认证。(虽说整合了oauth后在认证服务器认证,但还是在网关登录)
- 提供了微服务限流等功能,可以保护服务防止雪崩效应。
- 可以系统构建一套或者多套服务。
2.网关-微服务概念图
这里为什么需要这么多网关呢,其实将所有的微服务挂载到网关上也不是不行,但存在几个整体方面的问题
- 后期添加服务,网关也需要编写重启,会影响到其他多个系统。比如添加一个订单微服务,其实有关的只有用户中心,其他的不会受到影响,如果全部都挂载到一个网关上,升级的时候其他的服务也会无法使用。
- 网关一旦挂机,所有相关的微服务挂载会失败
3.微服务相关技术
- Nginx:高性能的HTTP与反向代理的web服务器。
- zuul:netfix出品的基于jvm路由和服务端的负载均衡器
- spring-cloud-gateway,是spring出品的关于spring的网关项目。
我们使用gateway,这个的性能比zuul好,而且支持更多的功能。