前记:
微服务中可采用的网关组件有挺多,像Nginx也可以做网关,这里不做过多的描述,我们今天主要来说说SpringCloud Gateway,目前开发人员在微服务中大部分还是使用Zuul组件,SpringCloud Gateway的前身是Zuul,出现的原因便是为了取代Zuul,Zuul是基于Servlet实现的,换言之还是采用同步阻塞方式实现的,所以在性能上一直为人所诟病。SpringCloud Gateway源码中大量使用了Reactive的Webflux,使用非阻塞方式能更高效的利用线程资源。
既然有这么大的优势,SpringCloud Gateway应该可以迅速占领微服务市场啊,但毕竟是新技术,再加上国内的软件环境比较保守,因此这项技术的广度还没有太深,开发过程中遇到的问题也是挺多。下面说几个比较麻烦的问题。
问题一:
-
描述
项目上线,因为域名的问题,必须在请求地址里加一个前缀,平常的话,直接配置contextPath即可,如下所示:
但是在SpringCloud Gateway组件不支持,只有对外提供支持Servlet方式的访问才可支持contextPath配置,由于SpringCloud Ga