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

阿里云AHAS应用高可用服务初体验的更多相关文章

  1. 阿里云搭建k8s高可用集群(1.17.3)

    首先准备5台centos7 ecs实例最低要求2c4G 开启SLB(私网) 这里我们采用堆叠拓扑的方式构建高可用集群,因为k8s 集群etcd采用了raft算法保证集群一致性,所以高可用必须保证至少3 ...

  2. 【阿里云产品公测】OpenSearch初体验

    OpenSearch是一个非常有意义的功能,对于很多数据量较大的站点, SF2<   如果搜索功能自己做的话,或者用数据库里的查询语句,首先效率低下,而且占用资源. ); <Le6   另 ...

  3. 免费的容器架构可视化工具 | 阿里云应用高可用服务 AHAS 发布重大新特性

    工具下载链接:点这里.活动发布链接:点这里. 采用容器服务后,了解容器之间的关系及依赖是一个比较有挑战的问题.容器化改造后的实际架构模型可能与预想的架构存在较大的差异,架构师或系统运维人员需要精确地了 ...

  4. 阿里云应用高可用服务 AHAS 流控降级实现 SQL 自动防护功能

    在影响系统稳定性的各种因素中,慢 SQL 是相对比较致命的,可能会导致 CPU.LOAD 异常.系统资源耗尽.线上生产环境出现慢 SQL 往往有很多原因: 硬件问题.如网络速度慢,内存不足,I/O 吞 ...

  5. 阿里云HBase推出普惠性高可用服务,独家支持用户的自建、混合云环境集群

    HBase可以支持百TB数据规模.数百万QPS压力下的毫秒响应,适用于大数据背景下的风控和推荐等在线场景.阿里云HBase服务了多家金融.广告.媒体类业务中的风控和推荐,持续的在高可用.低延迟.低成本 ...

  6. 每天响应数亿次请求,腾讯云如何提供高可用API服务?

    每天响应数亿次请求,腾讯云如何提供高可用API服务? https://mp.weixin.qq.com/s/OPwlHcqkaTT_gcwHfr5Shw 李阳 云加社区 2020-09-16 导语 | ...

  7. 亚马逊AWS在线系列讲座——基于AWS云平台的高可用应用设计

    设计高可用的应用是架构师的一个重要目标,可是基于云计算平台设计高可用应用与基于传统平台的设计有很多不同.云计算在给架构师带来了很多新的设计挑战的时候,也给带来了很多新的设计理念和可用的服务.怎样在设计 ...

  8. 构建基于阿里云OSS文件上传服务

    转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50710132 <构建基于阿里云OSS文件上传服务> <构建基于OS ...

  9. 用ASP.NET Core构建可检测的高可用服务--学习笔记

    摘要 随着现代化微服务架构的发展,系统故障的定位与快速恢复面临着诸多挑战,构建可检测的服务,帮助线上保障团队时刻掌控应用的运行状况越来越重要.本次分享会讲解如何让 ASP .NET Core 应用与现 ...

随机推荐

  1. 【SpringBoot】整合日志框架

    一.日志框架概述 1.1 日志框架的产生 1.2 市面上的日志框架 二.SLF4j 使用与整合 2.1 如何在系统中使用SLF4j 2.2 如何整合日志框架 2.3 SpringBoot中的日志关系 ...

  2. dict 字典 函数值应用

    函数 说明 D代表字典对象   D.clear() 清空字典 D.pop(key) 移除键,同时返回此键所对应的值 D.copy() 返回字典D的副本,只复制一层(浅拷贝) D.update(D2) ...

  3. Linux基础篇之FTP服务器搭建(二)

    上一篇文章说到了搭建FTP匿名用户的访问,接下来讲解一下本地用户的登录. 一.首先先建立一个用户,这里举例:xiaoming,并为其设置密码.  二.修改配置文件. 文件:ftpusers 文件:us ...

  4. HLS manifest standard 翻译: HTTP Live Streaming draft-pantos-http-live-streaming-23

    我为什么要干这种事 Introduction to HTTP Live Streaming 1 OVerview Multimedia presentation : specified by a Un ...

  5. 09_Redis_消息订阅与发布

    一:Redis 发布订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis 客户端可以订阅任意数量的频道. 下图展示了频道 c ...

  6. 中国大学MOOC课程信息爬取与数据存储

    版权声明:本文为博主原创文章,转载 请注明出处: https://blog.csdn.net/sc2079/article/details/82016583 10月18日更:MOOC课程信息D3.js ...

  7. c++中new的知识点

    在练习内存池时,发现需要重载new,可是这个重载只是重载了operator new,那么还有哪几种new呢,下面来记录一下 首先记录一个点,在类中重载operator new,默认就是静态成员函数,所 ...

  8. find 命令和sed命令练习

    1.查找/var目录下属主为root,且属组为mail的所有文件 find /var/ -user root -group mail 2.查找/var目录下不属于root.lp.gdm的所有文件 fi ...

  9. vue--directive自定义指令(不常用)

    除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令.注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件.然而,有的情况下,你仍然需要对普通 DOM ...

  10. node.js http模块和fs模块上机实验·

    httpserver const httpserver = require('http'); var server = httpserver.createServer(function (req,re ...