1、微服务网关的作用:
1、整合各个微服务的功能,形成一套系统;(主要作用——路由)2、微服务网关中实现日志统一记录;3、用户登录权限认证;4、限流;5、实现用户的跟踪操作
2、为什么要用微服务网关?
首先页面对接很多个域名(微服务),非常繁琐;
安全隐患,服务端暴露过多的接口,容易受到攻击;GateWay安全,提供了统一访问的入口,降低了服务器受攻击面积;
跨域问题(浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域);Gateway提供了跨域解决方案;
1.nginx反向代理,纯前端解决跨域问题 2.webservice调用第三方服务,提供本地前端接口,解决跨域问题。 3.服务导入jar包依赖,纯后端解决跨域问题。
认证复杂;Gateway统一权限认证支持;并且微服务限流,可以保护微服务,防止雪崩效应发生;
项目构建复杂
3、微服务网关技术有哪些?
nginx。必用,最外层流量的拦截,处理高并发强、稳定、耗资源少。
zuul。被淘汰。
spring-cloud-gateway。推荐
nignx必须用在最外层抗第一波并发流量,实际应用不能把nginx去掉,只用gateway。gateway主要起到路由的作用。
整一个微服务网关,用户请求进来经过微服务网关,路由到各大微服务,有多套微服务网关。
4、微服务网关的跨域功能配置?
cloud: gateway: globalcors://全局声明 corsConfigurations: '[/**]': # 匹配所有请求 allowedOrigins: "*" #跨域处理 允许所有的域 allowedMethods: # 支持的方法 - GET - POST - PUT - DELETE