微服务网关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环境里正常使用的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值