AHAS是阿里云提供的应用高可用服务(Application High Availability Service)产品。
高可用这个关键词可以说是互联网及软件开发行业热度一直很高的词语了,阿里云推出的这款产品,如果你是开发人员,可能看名字就会被吸引。
目前产品是免费开通的,我们来体验一下。
首先登录阿里云(https://www.aliyun.com)。
在【产品】菜单,选择开发运维->应用高可用服务:
或者在搜索框中输入:高可用 (ps:输入高、可用甚至AH都能搜索到,不过输入时有点卡顿,不知道是不是我本机输入法或者浏览器问题,本机用的chrome)
单击文字进入产品主页,点击立即开通即可。(注:产品是免费开通的)
第一次进入产品主页,有一个提示:
表示选择主机地域。如果主机在北京、杭州等区域的 VPC 网络中,则选择对应地域即可,如果主机有公网连接,则可选择公网。
依次点击菜单,看菜单名称以及内容,大概了解产品提供的功能。
这里我们点击【流控降级】菜单:
点击右边按钮【添加应用】:
有3个tab菜单:SDK接入、Java Agent接入、体验demo
点击【体验demo】:
先点击下载demo把demo的jar下载到本机,如E:/test/ahas-sentinel-sdk-demo.jar。
我们尝试在公网下运行,按照提示,首先把左上角地域切换为公网
接着网页中复制java命令,打开命令行,在E:/test目录下执行:java -Dproject.name=MyApp -Dahas.license=ec2eb48c94424fa7a825ce8526a88e9a -jar ahas-sentinel-sdk-demo.jar
注:这里把AppName改为了MyApp
查看输出,发现demo已开始在跑了:
点击页面中的右边的【返回】按钮,回到【流控降级】菜单的主页:
// 这里要特别注意下,因为前端好像记住了页面,而【返回】按钮在最右边,开始自己没注意到这个按钮,找了很久文档控制台在哪里orz
可以看到,MyApp应用已经显示出来了;
第1排文字:系统规则数、流控接口数、降级接口数均为0,因为还没有配置任何规则;
第2排文字:机器数为1,表示应用只有1个节点,通过QPS100,拒绝QPS0,因为没有配流控规则,所以没有拒绝的QPS。
点击MyApp文字,可以看到,熟悉的Sentinel控制台界面出来了:)
我们依次点击左边的6个菜单,对比Sentinel控制台https://github.com/alibaba/Sentinel/wiki/控制台,看看有什么不同。
监控详情
1.Sentinel中菜单名是实时监控,AHAS这里是监控详情;
2.左边星号按钮提供了收藏资源功能,下次点监控详情菜单,已收藏的资源会优先显示;
=> 方便重点关注某些资源
3.右边第1个按钮,弹出对话框显示该资源的监控图表,并可以选择时间;
=> 提供更多时间范围的查看,但是时间范围只能是某一天
4.右边第2个按钮,可以弹出直接新增该资源规则的对话框;
=> 方便用户在监控详情界面直接新增、修改,其中有规则的资源,新增按钮变成了修改按钮,这点十分贴心!
但有个小问题是新增后要刷新页面或者重新进入菜单,按钮才由新增按钮变为修改按钮;
请求链路
1.Sentinel中菜单名簇点链路,AHAS这里是请求链路;
2.表格右边操作列增加了监控按钮,可方便的查看该资源的监控图表;
3.在平铺视图下,表列头通过QPS、拒绝QPS等增加了点击排序功能;
4.平铺/树状按钮的左边,有资源没有出现文字和hover提示说明;
流控规则
1.列表页表列头,如:来源应用增加了点击排序,流控模式、阈值类型等增加了筛选按钮;
2.规则增加了状态,包括列表显示和新增、修改,同时也可以批量启用/禁用;
3.新增规则对话框页面,有图标hover提示,并可方便地跳转到对应的产品说明文档;
降级规则
1.列表页表列头,资源名称增加了点击排序,状态增加了筛选按钮;
2.规则增加了状态,包括列表显示和新增、修改,同时也可以批量启用/禁用;
3.新增规则对话框页面,有图标hover提示,并可方便地跳转到对应的产品说明文档;
4.降级规则中时间窗口加减秒,+-秒UI更加好看,方便通过鼠标点击操作;
系统规则
1.列表页表列头,阈值增加了点击排序,状态增加了筛选按钮;
2.规则增加了状态,包括列表显示和新增、修改,同时也可以批量启用/禁用;
机器列表
1.列表页表列头,机器名称增加了点击排序,客户端版本等增加了筛选按钮;
=> 客户端版本显示1.3.1-1.0.1,好像有点问题?
2.少了1列端口号,多了1列进程ID;
=> 列名是进程ID,显示的是数字,不确定这是端口号还还是进程ID,为什么没有显示端口号?
总结
阿里云上的AHAS作为开源组件Sentinel的产品化服务,提供了便捷、贴心的用户体验。
给力:
1.更加便捷的规则设置、监控查看操作
比如在监控详情页可以新增、修改、删除某资源的规则;在请求链路中可通过资源名查看监控图表;
2.更加完善的监控图表、规则列表查看;
比如列表列头增加点击排序、筛选;某资源的监控图表可按时间筛选;
3.贴心的图标hover提示,并支持跳转到对应的产品文档;
比如新增规则、请求链路等界面都有文字图标hover提示,在提示中有详细说明描述,并可点击链接跳转到对应的产品文档;
4.规则增加启用/禁用状态,并支持批量操作;
这样规则不用删除,而是可以保留随时启用/禁用;
5.完善的产品使用文档;
话说Sentinel官方wiki已经很赞了并且还在不断完善,AHAS这个从快速入门、产品简介、各功能详细介绍、常见问题等,文档清晰又详细;
吐槽:
1.监控详情页面对某资源增加规则后,页面需要刷新或者重新点菜单,对应的按钮图标才会改变;
2.设置规则貌似是对所有节点生效的,和Sentinel控制台支持旧版、新版不同,有时每个节点负载不一样,可能有需要单独设置的场景;
3.机器列表的客户端版本显示1.3.1-1.0.1怎么是个范围,以及没有端口号;
4.监控详情页有QPS、RT维度的统计图表,但缺少线程数、异常比例维度的图表;
5.监控详情页用户不知道默认排序,并缺少排序方式的选择;
参考:
AHAS产品主页:https://www.aliyun.com/product/ahas
AHAS控制台:https://ahas.console.aliyun.com
Sentinel控制台wiki:https://github.com/alibaba/Sentinel/wiki/控制台
Sentinel主页:https://github.com/alibaba/Sentinel