【Zuul2】网关Zuul控制台DashBoard

3 篇文章 0 订阅

目录

一、需求背景

二、实现方案

一、源码获取

二、源码分析

三、效果展示

三、相关问题


一、需求背景

用JAVA为开发语言的流控网关主要分为以下三种:

  • Netflix Zuul/Zuul2
  • Spring Cloud GateWay
  • Alibaba Sentinel

从定位上来看,Zuul2与SpringCloudGateway其实比较接近,而Sentinel属于另外一种产品了。

Sentinel是一个强大的产品,它提供的流量管理策略多于另外两位,但它存在一个统一网关无法接受的问题:服务入侵,它需要客户端注册。

而Zuul2,可以做到完全无耦合,与下层服务完全脱离,接入方式比较轻便,另外,它所提供的基础能力很适配我们的需求,至于SpringCloudGateWay,暂且不谈。

但Zuul2也存在一些比较难搞的问题,它并不完善,它只提供了一个内核,它只会将流量交给ribbon处理,大部分功能是需要自己去实现的,包括路由、鉴权、限流方式、流量监控等功能。

并且,由于它不提供控制台界面,让运维人员自行去使用这些功能会是一件很烦心的事。

由此,便有了一个好点子:使用Sentinel的控制台,改造适配Zuul2。

二、实现方案

一、源码获取

从github上拿到sentinel UI相关源码,注意使用release版本。

git地址:https://github.com/alibaba/Sentinel

使用DashBoard项目即可

二、源码分析

整体DashBoard使用Springboot+AngularJS结构,是个单体应用,只需要启用java服务即可,前端代码自动部署在Tomcat中。

需要注意的是,前端代码的热部署比较麻烦,需要重新打包(可能有更多方式,笔者不熟前端),但tomcat不需要重启。

三、效果展示

花了一点时间,改造出了一个雏形,作为一个结构展示,后续会不断完善UI界面,接入更多功能,以满足业务运维的相关需求。

 

三、相关问题

一、为什么不直接自己做一个UI?

1、Sentinel控制台颜值够高,它的界面本就是为网关设计的

2、笔者前端代码编写能力不强,自己实现一个改CSS都得改得GG

3、后端功能编写比较简单,Sentinel自身后端太过复杂,集成了过多产品,完全可以摒弃后端代码,自己按需求实现,很快就能搞定

4、综合考虑,使用Sentinel的控制台实现起来更容易,做出来的产品更好看

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值