微服务网关Zuul在EDAS环境的实践-阿里云开发者社区

开发者社区> 昊蓝> 正文

微服务网关Zuul在EDAS环境的实践

简介:
+关注继续查看

问题起因

最近参与的一个项目,客户基于EDAS开发的微服务应用,应用间提供的都是Restful接口。

总所周知,EDAS是基于内部HSF接口的分布式服务框架,HSF的特点是服务调用者和服务提供者直接连接,不经过网关层转发,HSF接口无需引入网关层,EDAS会承担服务注册与服务发现功能,服务调用时由HSF-Client根据从configserver推送过来的服务提供方ip,直接发起调用。

但是后端的微服务应用提供Restful接口的话,不可能把每一个微服务所提供的Restful接口都直接暴露给前端应用,这样的话,前端应用需要知道每个微服务的vip、端口、请求path,这么做并不友好。这里需要引入一个网关层,前端应用发起请求到网关,由网关根据请求url智能转发到后端不同的微服务应用处理。

调研过程

调研了相关的产品,有几个备选方案:
1)Nginx:通过配置upstream来实现请求转发;
2)CSB:云服务总线
3)Zuul:Springcloud的网关产品,但是不确定是否能适配EDAS环境

调研后发现:
1)Nginx,虽然可以通过配置upstream来实现请求转发,但是需要人工介入,每当上线或者调整微服务应用接口时,都需要手工修改配置文件,非常繁琐。
2)CSB:云服务总线CSB主要功能有两点,1是实现跨域的级联调用。2是协议转换。CSB并不支持路由转发。
3)Zuul:基于Springcloud体系的网关产品,非常符合客户想要的智能路由转发的功能,但是是否能适配EDAS是不确定的,翻了下官网EDAS的文档,也只提到了仅支持Springcloud的eureka服务注册功能,并没有涉及到Zuul。

检验

为了检验Zuul是否可以在EDAS环境正常使用,写了个Demo做了试验:
1)pom文件里引入Zuul,同时需要把springcloud原生的eureka包换成EDAS提供的vipclient包。
image.png

2)application.xml配置文件里加入Zuul转发规则:
image.png

3)启动后可以正常注册到EDAS轻量注册中心:
image.png

4)访问页面,能够实现智能转发:
image.png

结论

至此,经过验证后,发现Zuul网关是可以在EDAS环境里正常使用的。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SpringCloud迁移至EDAS微服务——Series2:在 ECS 集群中部署 Web 应用
SpringCloud迁移至EDAS微服务——Series2:在 ECS 集群中部署 Web 应用
1707 0
Zuul整合Swagger,使用ZuulFilter解决下游服务context-path
问题起因:使用Zuul网关服务,需要整合下游系统的swagger,但是下游服务存在context-path配置,无法正确跳转,最后使用ZuulFilter解决。 1.Zuul整合下游swagger 首先介绍一下Zuul如何整合下游服务swagger,很好理解,就是通过Zuul的swagger地址,实现将下游服务的swagger都放入同一个页面内,流转图如下: 1.
340 0
服务网关 Spring Cloud Gateway 的应用
如何启动 Spring Cloud Gateway 1、新建 Maven 工程,添加相关依赖 pom.xml 4.0.0 com.
2282 0
阿里沈询:阿里技术架构演变,及基于EDAS的敏捷服务开发与架构实践
8月30-31日20:00-21:30,一场别开生面的技术大会—— “蚂蚁金服&阿里云在线金融技术峰会”将在线举办。本次将聚焦数据库、应用架构、移动开发、机器学习等热门领域,帮助金融业技术开发者深入解析互联网应用的前沿应用与技术实践。
8902 0
ChaosBlade x SkyWalking 微服务高可用实践
在分布式系统架构下,服务组件繁多且服务间的依赖错综复杂,很难评估单个故障对整个系统的影响,而且请求链路长,如果监控告警、日志记录等基础服务不完善会造成故障响应、故障定位问题难,所以如何构建一个高可用的分布式系统面临着很大挑战。
11225 0
企业级分布式应用服务 EDAS 3.0 多语言功能重磅发布--附 EDAS 3.0 Demo 解析
新增多语言功能,即使用自定义镜像部署多语言应用至K8s集群,提供非Java语言如PHP、Go、Python等在EDAS的部署、监管控能力。本次直播将对云栖大会期间发布的EDAS3.0Demo进行深度解析,130S 让您读懂EDAS3.0!
2474 0
SpringCloud迁移至EDAS微服务——Series3:在容器服务K8s集群中部署应用
SpringCloud迁移至EDAS微服务——Series3:在容器服务K8s集群中部署应用
2567 0
Spring Cloud服务网关整合
网关 网管是程序或者系统之间的连接节点,扮演者程序或系统之间的门户,允许它们之前通过通讯协议交换信息,它们可能是同构或异构系统例如 REST API网关 WebServices网关 使用场景 监控(Monitoring) 测试 (Testing) 动态路由(Dynamic Routing) ...
1535 0
微服务与网关技术(SIA-GateWay)
微服务治理是微服务架构的难点,SIA-GATEWAY作为微服务基础设施充分考虑到了与业务系统的兼容性和相关技术生态的成熟度。
3908 0
+关注
2
文章
7
问答
来源圈子
更多
作为全球云计算的领先者,阿里云为全球230万企业提供着云计算服务,服务范围覆盖200多个国家和地区。我们致力于为企业、政府等组织机构提供安全可靠的云计算服务,给用户带来极速愉悦的服务体验。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载