AutoScaling 事件通知功能

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: ESS 伸缩组是具有相同应用场景的 ECS 实例的集合,通过伸缩活动来调节组内实例个数,通过判断伸缩组内实例数的变化,ESS 伸缩活动被分为不同的类型。ESS 新上线事件通知功能,您可以为伸缩组配置不同类型伸缩活动的事件通知,当伸缩组发生该类型的伸缩活动时,事件通知机制会通知您伸缩活动的详细信息。

AutoScaling 事件通知功能支持伸缩组级别的事件通知,您可以为您的伸缩组配置事件通知,并配置需要通知的伸缩活动类型,当发生对应的伸缩活动时,事件通知会推送伸缩活动详细信息到您配置的通知对象。目前事件通知功能支持三种通知对象、五种类型的伸缩活动。使用事件通知功能,您可以第一时间获知伸缩组内实例变化情况,实时监控伸缩组信息。
本文将介绍事件通知支持的 伸缩活动类型 和事件通知支持的 通知方式,并以最佳实践的方式向您介绍如何为事件通知配置不同类型的伸缩活动和接收对象。

事件通知支持的伸缩活动类型

当您在 创建事件通知 时,需要设置触发事件通知对应的伸缩活动类型,当伸缩组发生对应类型的伸缩活动时,事件通知触发执行,发送伸缩活动详细信息到您设置的通知对象。
事件通知(Notification)目前支持以下五种类型的伸缩活动:

  • 扩容伸缩活动成功(AUTOSCALING:SCALE_OUT_SUCCESS)
  • 扩容伸缩活动失败(AUTOSCALING:SCALE_OUT_ERROR)
  • 缩容伸缩活动成功(AUTOSCALING:SCALE_IN_SUCCESS)
  • 缩容伸缩活动失败(AUTOSCALING:SCALE_IN_ERROR)
  • 伸缩活动拒绝执行(AUTOSCALING:SCALE_REJECT)

上述伸缩活动中,伸缩活动成功包含了部分成功和全部成功两种情况,您可以通过事件通知发出的伸缩活动详情来判断是部分成功还是全部成功。您还可以通过 DescribeNotificationTypes 接口查询事件通知支持的伸缩活动类型。

事件通知支持的通知方式

当伸缩活动触发事件通知功能时,事件通知功能需要将伸缩活动详情上报给对应的事件通知对象,目前事件通知支持下列三种通知方式:

  • 伸缩活动详情上报到云监控系统事件
  • 伸缩活动详情推送到消息服务(MNS)队列(Queue)中
  • 伸缩活动详情推送到消息服务(MNS)主题(Topic)中

您可以参考 云产品系统事件监控 详细了解系统事件,该文档还介绍了如何在云监控控制台查看系统事件,以及如何为系统事件设置相应的报警规则等。您还可以参考 事件监控最佳实践来了解系统事件的使用方式。关于 MNS 主题和队列的介绍,您可以参考 队列使用帮助主题使用帮助 来了解主题、队列的创建,消息的接收方式,以及如何为主题设置订阅等。
需要注意的是,MNS 消息服务会收取相应的费用,具体的收费标准可参考 云产品定价#消息服务 进行详细了解。

最佳实践

本章将展开介绍事件通知(Notification)支持的三种通知方式,针对三种通知方式分别创建事件通知,并给出最佳实践。
目前每个伸缩组最多支持创建 6 个事件通知配置,同一个伸缩组设置的通知对象不能相同,即如果伸缩组已经创建以云监控系统事件作为通知对象的事件通知配置时,则不能再创建以云监控系统事件作为通知对象的事件通知配置,同样,MNS 队列或主题在同一个伸缩组中作为通知对象只能出现一次。

基于云监控系统事件的事件通知功能

创建伸缩组和伸缩配置

首先,您需要创建 ESS 弹性伸缩组,然后创建伸缩配置,并启动伸缩组。您可以通过登录 ESS控制台 完成上述操作,具体方法可以参考 让 ESS 更灵活的新特性 中的 最佳实践 章节,您也可以通过 使用 OpenAPI 的方法来创建伸缩组和伸缩配置,具体方法可以参考 创建弹性伸缩 官方文档,或者参考云栖博客 使用 ESS SDK 快速创建多可用区伸缩组使用 ESS SDK 快速创建多可用区伸缩组 来完成创建。

创建事件通知(OpenAPI)

如果您希望伸缩组发生伸缩活动时,能够把伸缩活动详情以 上报云监控系统事件 的方式来上报到云监控,然后通过云监控通知到您,那么您可以参考 创建事件通知配置 接口来创建事件通知配置,并指定通知对象为云监控。创建以云监控系统事件作为通知对象的 ESS 事件通知配置,对应的 JAVA 代码如下:

public class NotificationTest {

    public static final String REGION_ID        = "cn-hangzhou";

    public static final String AK               = "ak";

    public static final String AKS              = "aks";

    public static final String SCALING_GROUP_ID = "asg-xxxxxxxxxxxx";

    public static final String NOTIFICATION_ARN = "acs:ess:{regionId}:{userId}:cloudmonitor";

    public static void main(String[] args) throws Exception {
        IClientProfile clientProfile = DefaultProfile.getProfile(REGION_ID, AK, AKS);
        IAcsClient client = new DefaultAcsClient(clientProfile);
        createNotificationConfiguration(client);
    }

    private static void createNotificationConfiguration(IAcsClient client) throws ClientException {
        CreateNotificationConfigurationRequest request = new CreateNotificationConfigurationRequest();
        request.setScalingGroupId(SCALING_GROUP_ID);
        request.setNotificationArn(NOTIFICATION_ARN);
        List<String> notifications = Lists.newArrayList();
        notifications.add("AUTOSCALING:SCALE_IN_SUCCESS");
        notifications.add("AUTOSCALING:SCALE_IN_ERROR");
        notifications.add("AUTOSCALING:SCALE_OUT_SUCCESS");
        notifications.add("AUTOSCALING:SCALE_OUT_ERROR");
        notifications.add("AUTOSCALING:SCALE_REJECT");
        request.setNotificationTypes(notifications);
        CreateNotificationConfigurationResponse acsResponse = client.getAcsResponse(request);
    }

}

使用上述代码,可以为伸缩组创建以云监控为通知对象的事件通知配置,并设置了以下几种伸缩活动来触发事件通知:

  • 扩容伸缩活动成功(AUTOSCALING:SCALE_OUT_SUCCESS)
  • 扩容伸缩活动失败(AUTOSCALING:SCALE_OUT_ERROR)
  • 缩容伸缩活动成功(AUTOSCALING:SCALE_IN_SUCCESS)
  • 缩容伸缩活动失败(AUTOSCALING:SCALE_IN_ERROR)
  • 伸缩活动拒绝执行(AUTOSCALING:SCALE_REJECT)

在使用上述代码创建 ESS 事件通知前配置时,您需要先导入 aliyun-java-sdk-corealiyun-java-sdk-ess 两个 jar 包,具体的导入方法可以参考 使用 ESS SDK 快速创建多可用区伸缩组 中的 导入 ESS Java SDK 章节。 aliyun-java-sdk-ess 版本要求是 2.1.4 及以上版本。然后在代码中补充您自己的 AK 信息,并填写伸缩组 ID(ScalingGroupId)和事件通知接收对象(NotificationArn)等参数。NotificationArn 参数中的 regionId 表示伸缩组所在地区,userId 代表您使用的 AK 对应的用户 ID(主账号)。您可以参考 CreateNotificationConfiguration 接口获取事件通知配置的详细参数信息。

创建事件通知(控制台)

您也可以通过 弹性伸缩控制台 创建以云监控为通知对象的事件通知。
首先,登录 弹性伸缩控制台,进入事件通知列表页,点击创建时间通知按钮,如下图所示:

pic1.png

弹出创建事件通知对话框以后,通知方式选择云监控,选择需要接收通知的事件通知类型,点击创建事件通知按钮,如下图所示:

pic2.png

事件通知创建完成,如下图所示:

pic3.png

触发伸缩活动

伸缩活动触发的方式有多种,可以通过报警任务的方式来触发伸缩活动,也可以通过执行伸缩规则的方式来触发伸缩活动,伸缩组内实例健康检查以及伸缩组内实例最大最小检查等都有可能触发伸缩活动。本章以执行伸缩规则的方式来触发伸缩活动,向您介绍事件通知上报伸缩活动详情到云监控的过程。
首先,您需要登录 弹性伸缩控制台,进入伸缩组详情页,选择左侧导航栏的伸缩规则,弹出伸缩规则详情界面,如下图所示:

粘贴图片.png

上图中,该伸缩组内已经有创建好的伸缩规则,如果您的伸缩组没有创建好的伸缩规则,可点击创建伸缩规则按钮创建伸缩规则。伸缩规则创建好以后,点击执行,便会触发伸缩活动。本章以执行伸缩规则 add1(增加1台Ecs)为例,触发扩容伸缩活动,您可以进入伸缩活动详情页,查看对应的伸缩活动的执行情况,如下图所示:

粘贴图片.png

上图中,第一个伸缩活动即为刚才执行伸缩规则 add1 触发的伸缩活动,从图中可以看出,扩容伸缩活动执行成功,即伸缩组发生的伸缩活动类型为 扩容伸缩活动成功(AUTOSCALING:SCALE_OUT_SUCCESS)。在 创建事件通知 章节中,已经为伸缩组设置了该类型伸缩活动的事件通知,所以该类型的伸缩活动执行完以后,事件通知会以云监控系统事件的方式为您上报伸缩活动详情。

查看系统事件上报结果

首先,登录 云监控事件监控详情页,事件类型选择系统事件,云产品选择 ESS,然后点击搜索按钮,查看 ESS 为您上报的系统事件,如下图所示:

粘贴图片.png

点击上图中的查看详情,可以查看上报的系统事件详细信息,如下图所示:

粘贴图片.png

从上图可以看出,ESS 上报的系统事件,包含了以下信息:

  • 产品类型
  • 事件名称、级别、状态信息
  • 伸缩组 ID
  • 伸缩活动详情

伸缩活动详情以 JSON 格式上报给云监控,内容如下:

{
  "cause": "The value of Total Capacity is lesser than the Minsize, changing the Total Capacity from \"0\" to \"1\".",
  "description": "\"1\" ECS instances are added",
  "endTime": "2018-04-26T05:49:03.000Z",
  "expectNum": 1,
  "instanceIds": [
    "i-xxxxxxxxxxxxxxx"
  ],
  "requestId": "xxxxxxxxxxxxxxx",
  "scalingActivityId": "asa-xxxxxxxxxxxxx",
  "startTime": "2018-04-26T05:48:01.000Z"
}

伸缩活动详情中各字段的意义,如下:

  • cause 伸缩活动起因
  • description 伸缩活动执行结果
  • startTime 伸缩活动开始时间
  • endTime 伸缩活动结束时间
  • requestId 本次伸缩活动请求 ID
  • expectNum 本次伸缩活动预计增加(减少)实例个数,只有成功的伸缩活动会有此参数
  • instanceIds 本次伸缩活动实际成功增加(减少)的实例 ID 列表,只有成功的伸缩活动会有此参数

创建系统事件报警规则

ESS 事件通知功能把伸缩活动详情以系统事件的方式上报到云监控,如果您希望云监控能够进一步的以短信、邮件或者钉钉的方式通知您,您需要登录 云监控控制台 来为对应的系统事件创建报警规则。

首先,您需要登录 云监控事件监控详情页,在事件监控界面选择报警规则,点击创建报警规则,弹出如下创建报警规则对话框,如下图所示:

粘贴图片.png

上图中,事件类型选择系统事件,产品类型选择 ESS,资源范围选择全部资源,然后选择需要通知的对应联系人组。ESS 上报给云监控的系统事件被分为信息、警告、严重三个等级,每个等级对应着不同的 ESS 伸缩活动类型,对应关系如下:

  • 信息

    • 弹性伸缩组扩容伸缩活动成功(AUTOSCALING:SCALE_OUT_SUCCESS)
    • 弹性伸缩组缩容伸缩活动成功(AUTOSCALING:SCALE_IN_SUCCESS)
    • 全部事件(即上述两个事件的集合)
  • 严重

    • 弹性伸缩组扩容伸缩活动失败(AUTOSCALING:SCALE_OUT_ERROR)
    • 弹性伸缩组缩容伸缩活动失败(AUTOSCALING:SCALE_IN_ERROR)
    • 全部事件(即上述两个事件的集合)
  • 警告

    • 弹性伸缩组伸缩活动执行被拒绝(AUTOSCALING:SCALE_REJECT)
    • 全部事件(即上述事件)

选择需要报警的事件等级和事件名称,点击确定按钮,创建好报警规则。当云监控接收到对应的系统事件,命中了您配置的报警规则,则触发报警,报警任务会向您配置的联系人组发送报警信息,报警的接收方式以您定义的联系人组为准。关于云监控报警联系人及报警联系人组的设置,您可以参考云监控官方文档 报警联系人和报警联系组 进行设置。您还可以参考云监控官方文档 云产品系统事件监控 来学习如何查看系统事件并设置系统事件对应的报警规则。

总结

基于云监控系统事件的事件通知功能,设置的事件通知对象为云监控,当伸缩组发生事件通知对应类型的伸缩活动时,事件通知将伸缩活动详情以系统事件的方式上报到云监控,云监控系统事件命中配置好的系统事件报警规则时,云监控会向报警规则中设置的联系人组发送报警信息。您可以通过管理联系人组的方式来管理您的伸缩活动详情接收方。

基于 MNS 队列的的事件通知功能

创建伸缩组和伸缩配置

参考上一章节中的 创建伸缩组和伸缩配置

创建 MNS 队列

如果您打算使用 MNS 队列作为事件通知接收对象,首先需要创建好对应的 MNS 队列。您可以参考 MNS 官方文档 队列使用手册 通过 OpenAPI 创建 MNS 队列,也可以登录 MNS控制台 创建 MNS 队列。创建 MNS 队列参数的设置方法,您可以参考官方文档 创建队列
需要注意,您打算用来接收事件通知的 MNS 队列需要与您的伸缩组在同一个 Region 下。由于 MNS 队列服务在下列几个 Region 暂时没有开放,因此以下几个 Region 下的伸缩组暂不支持设置 MNS 队列作为事件通知接收对象:

  • 华北 3(张北)
  • 华北 5(呼和浩特)
  • 美国东部 1(弗吉尼亚)

创建事件通知(OpenAPI)

如果您希望伸缩组发生伸缩活动的时候能够以消息推送的方式将伸缩活动详情推送到 MNS 队列,那么您可以通过 创建事件通知 接口来创建事件通知,并设置通知对象为 MNS 队列。创建以 MNS 队列作为通知对象的 ESS 事件通知配置,对应的 JAVA 代码如下:

public class NotificationTest {

    public static final String REGION_ID        = "cn-hangzhou";

    public static final String AK               = "ak";

    public static final String AKS              = "aks";

    public static final String SCALING_GROUP_ID = "asg-xxxxxxxxxxxx";

    public static final String NOTIFICATION_ARN = "acs:ess:{regionId}:{userId}:queue/{queueName}";

    public static void main(String[] args) throws Exception {
        IClientProfile clientProfile = DefaultProfile.getProfile(REGION_ID, AK, AKS);
        IAcsClient client = new DefaultAcsClient(clientProfile);
        createNotificationConfiguration(client);
    }

    private static void createNotificationConfiguration(IAcsClient client) throws ClientException {
        CreateNotificationConfigurationRequest request = new CreateNotificationConfigurationRequest();
        request.setScalingGroupId(SCALING_GROUP_ID);
        request.setNotificationArn(NOTIFICATION_ARN);
        List<String> notifications = Lists.newArrayList();
        notifications.add("AUTOSCALING:SCALE_IN_SUCCESS");
        notifications.add("AUTOSCALING:SCALE_IN_ERROR");
        notifications.add("AUTOSCALING:SCALE_OUT_SUCCESS");
        notifications.add("AUTOSCALING:SCALE_OUT_ERROR");
        notifications.add("AUTOSCALING:SCALE_REJECT");
        request.setNotificationTypes(notifications);
        CreateNotificationConfigurationResponse acsResponse = client.getAcsResponse(request);
    }
}

上述代码的使用方法,您可以参考基于云监控系统事件的事件通知功能 章节中的 创建事件通知配置

创建事件通知(控制台)

您也可以通过 弹性伸缩控制台 创建以 MNS 队列为通知对象的事件通知。
首先,登录 弹性伸缩控制台,进入事件通知列表页,点击创建时间通知按钮,如下图所示:

pic1.png

弹出创建事件通知对话框以后,通知方式选择 MNS 队列,选择需要接收通知的事件通知类型,点击创建事件通知按钮,如下图所示:

pic6.png

事件通知创建完成,如下图所示:

pic7.png

触发伸缩活动

参考上一章节中的 触发伸缩活动

MNS 队列消息接收

当伸缩组触发了事件通知配置的几种伸缩活动中的任何一种时,伸缩活动详情会以消息推送的方式推送到 MNS 队列中。MNS 队列中信息消费的方式有多种,您可以参考 消费消息 或者 队列使用手册 来实现对 MNS 队列中消息的消费,您还可以登录 MNS控制台 消费队列中的消息。本章以登录 MNS控制台 为例,向您展示如何查看队列中接收到的消息。首先,登录 MNS控制台 ,点击队列列表页右侧的接收消息按钮,如下图所示:

粘贴图片1.png

点击接收消息以后,弹出接收消息对话框,您可以设置自动删除已接收消息对话框,在接收消息对话框点击接收消息,该消息会被自动删除,消息内容包含了本次接收到的伸缩活动的详细信息,如下图所示:

粘贴图片2.png

事件通知功能将伸缩活动详情以 JSON 格式推送到 MNS 队列中,内容如下:

{
  "content": {
    "cause": "A user requests to execute scaling rule \"asr-bp15mij88gn6o0ilk9me\", changing the Total Capacity from \"0\" to \"1\".",
    "description": "\"1\" ECS instances are added",
    "endTime": "2018-04-24T09:15:16.000Z",
    "expectNum": 1,
    "instanceIds": [
      "i-xxxxxxx"
    ],
    "requestId": "DB614856-XXXX-XXXX-XXXX-23A44E86FC6C",
    "scalingActivityId": "asa-xxxxxxxxxxxxxx",
    "startTime": "2018-04-24T09:13:37.000Z"
  },
  "event": "AUTOSCALING:SCALE_OUT_SUCCESS",
  "eventLevel": "INFO",
  "eventStatus": "normal",
  "product": "ESS",
  "regionId": "cn-hangzhou",
  "resourceArn": "acs:ess:cn-hangzhou:111111111111111:scalingGroup/asg-xxxxxxxxxxxxx",
  "time": "2018-04-24T09:15:16.785Z",
  "userId": "111111111111111"
}

上述内容中:

  • event 此次事件通知对应的伸缩活动类型,事件通知支持的伸缩活动类型可参考 事件通知支持的伸缩活动类型 进行详细了解。
  • eventLevel 事件级别,目前分为 INFO、WARN、CRITICAL 三个级别,分别对应伸缩活动成功、拒绝、失败。
  • resourceArn 伸缩组唯一标识符,包括了伸缩组所在的 Region 信息,所属的用户 ID 信息,以及伸缩组 ID 信息。
  • content 包含了本次伸缩活动的详细信息

    • cause 本次伸缩活动的起因
    • description 本次伸缩活动的执行结果
    • expectNum 本次伸缩活动期望增加或者减少的实例数(只有伸缩活动成功才上报此参数)
    • instanceIds 本次伸缩活动成功弹出或者释放的实例ID(只有伸缩活动成功才上报此参数)
    • scalingActivityId 本次伸缩活动 ID

对于 MNS 队列中消息的消费方式,推荐您使用 MNS 提供的长轮询的方式进行消费 ,如果队列中的消息您只打算消费一次,那么您可以在消费完以后删除对应的消息。关于长轮询方式消费队列中消息的方法,您可以参考 MNS 官方给出的 长轮训最佳实践 文档,并使用文档中提供的示例代码来消费队列消息。

总结

基于 MNS 队列的的事件通知功能, 设置的事件通知对象为 MNS 队列,当伸缩组发生对应类型的伸缩活动时,事件通知功能将伸缩活动详情以消息推送的方式推送到对应的 MNS 队列中,您可以使用长轮询的方式来消费队列中的信息,获取本次伸缩活动详情。

基于 MNS 主题的的事件通知功能

创建伸缩组和伸缩配置

参考上一章节中的 创建伸缩组和伸缩配置

创建 MNS 主题

如果您打算使用 MNS 主题作为事件通知接收对象,那么您需要提前创建好 MNS 主题。您可以参考 MNS 官方文档 主题使用手册 使用 OpenAPI 来创建 MNS 主题,也可以登录 MNS控制台 创建 MNS 主题。MNS 主题参数的设置方法,您可以参考文档 CreateTopic。需要注意,您打算用来接收事件通知的 MNS 主题需要与您的伸缩组在同一个 Region 下。由于 MNS 主题服务在下列几个 Region 暂时没开放,因此以下几个 Region 下的伸缩组暂不支持将通知对象设置为 MNS 主题:

  • 华北 3(张北)
  • 华北 5(呼和浩特)
  • 美国东部 1(弗吉尼亚)
  • 亚太东南2(悉尼)
  • 中东东部1(迪拜)
  • 欧洲中部1(法兰克福)

MNS 主题接收到消息以后并不能和 MNS 队列一样直接消费。MNS 主题创建好以后需要为这个主题创建订阅,当主题接收到消息以后,会实时的将消息推送到对应的订阅方,您可以通过登录 MNS控制台 的方式来创建主题订阅,如下图所示:

粘贴图片.png

也可以参考 MNS 官方文档 Subscription操作主题使用手册 来创建主题订阅。目前 MNS 主题支持以下几种订阅方式:

  • HTTP (暂不支持 HTTPS)
  • MNS 队列
  • 阿里短信
  • 邮箱
  • 移动推送

关于上述几种订阅方式,您可以参考 邮件推送Queue推送短信发送完整流程移动推送 这几篇官方文档来了解不同主题订阅方式对应的设置方法。

创建事件通知(OpenAPI)

如果您希望伸缩组发生伸缩活动的时候能够以消息推送的方式将伸缩活动详情推送到 MNS 主题,那么您可以使用 创建事件通知 接口来创建事件通知,并指定通知对象为 MNS 主题。创建以 MNS 主题作为通知对象的 ESS 事件通知配置,对应的 JAVA 代码如下:

public class NotificationTest {

    public static final String REGION_ID        = "cn-hangzhou";

    public static final String AK               = "ak";

    public static final String AKS              = "aks";

    public static final String SCALING_GROUP_ID = "asg-xxxxxxxxxxxx";

    public static final String NOTIFICATION_ARN = "acs:ess:{regionId}:{userId}:topic/{topicName}";

    public static void main(String[] args) throws Exception {
        IClientProfile clientProfile = DefaultProfile.getProfile(REGION_ID, AK, AKS);
        IAcsClient client = new DefaultAcsClient(clientProfile);
        createNotificationConfiguration(client);
    }

    private static void createNotificationConfiguration(IAcsClient client) throws ClientException {
        CreateNotificationConfigurationRequest request = new CreateNotificationConfigurationRequest();
        request.setScalingGroupId(SCALING_GROUP_ID);
        request.setNotificationArn(NOTIFICATION_ARN);
        List<String> notifications = Lists.newArrayList();
        notifications.add("AUTOSCALING:SCALE_IN_SUCCESS");
        notifications.add("AUTOSCALING:SCALE_IN_ERROR");
        notifications.add("AUTOSCALING:SCALE_OUT_SUCCESS");
        notifications.add("AUTOSCALING:SCALE_OUT_ERROR");
        notifications.add("AUTOSCALING:SCALE_REJECT");
        request.setNotificationTypes(notifications);
        CreateNotificationConfigurationResponse acsResponse = client.getAcsResponse(request);
    }

}

上述代码的使用方法,您可以参考基于云监控系统事件的事件通知功能 章节中的 创建事件通知配置

创建事件通知(控制台)

您也可以通过 弹性伸缩控制台 创建以 MNS 队列为通知对象的事件通知。
首先,登录 弹性伸缩控制台,进入事件通知列表页,点击创建时间通知按钮,如下图所示:

pic1.png

弹出创建事件通知对话框以后,通知方式选择 MNS 主题,选择需要接收通知的事件通知类型,点击创建事件通知按钮,如下图所示:

pic5.png

事件通知创建完成,如下图所示:

pic4.png

MNS 主题消息接收

当伸缩组触发了事件通知配置的几种伸缩活动中的任何一种时,事件通知功能就会将伸缩活动详情推送到 MNS 主题,MNS 主题接收到消息以后会将消息推送到主题设置的订阅端,订阅端自行消费消息。

总结

基于 MNS 主题的的事件通知功能 设置的事件通知对象为 MNS 主题,当伸缩组发生对应类型的伸缩活动时,事件通知功能将伸缩活动详情推送到 MNS 主题中。MNS 主题作为接受对象相比 MNS 队列作为接收对象,可选择的信息消费方式更多,不仅支持 MNS 队列的消费方式,而且支持 HTTP、移动推送等方式来消费事件通知。

写在最后

弹性伸缩服务正在快速地发展,后续会有更多的新功能新特性推出,感谢您的一路陪伴。

相关实践学习
RocketMQ监控/告警一站式搭建应用
RocketMQ监控/告警一站式搭建演示
相关文章
|
Kubernetes Cloud Native 网络协议
Knative 事件驱动实践:通过 EventBridge 触发事件
Knative是一款基于Kubernetes的 Serverless 框架。其目标是制定云原生、跨平台的 Serverless 容器编排标准。Knative通过整合容器构建(或者函数)、工作负载管理(动态扩缩)以及事件驱动这三者来实现的这一Serverless标准。那么如何给 Knative 提供生产级别的事件驱动能力?这里我们可以通过事件总线 EventBridge 来实现.事件总线EventB
203 0
Knative 事件驱动实践:通过 EventBridge 触发事件
|
前端开发
如何自定义Electron的通知事件,自定义窗口大小
当外层添加拖拽后,里层添加点击事件时,点击事件的元素要添加这个样式方能添加点击事件
|
Kubernetes Go API
开发 k8s 管理平台 - k8sailor 13. 使用 k8s informer 订阅集群事件
开发 k8s 管理平台 - k8sailor 13. 使用 k8s informer 订阅集群事件
208 0
开发 k8s 管理平台 - k8sailor 13. 使用 k8s informer 订阅集群事件
|
存储 分布式计算 搜索推荐
RENO: Netflix 的快速事件通知系统
RENO: Netflix 的快速事件通知系统
143 0
RENO: Netflix 的快速事件通知系统
【EventBus】事件通信框架 ( 取消注册 | 获取事件参数类型 | 根据事件类型获取订阅者 | 移除相关订阅者 )(一)
【EventBus】事件通信框架 ( 取消注册 | 获取事件参数类型 | 根据事件类型获取订阅者 | 移除相关订阅者 )(一)
114 0
【EventBus】事件通信框架 ( 取消注册 | 获取事件参数类型 | 根据事件类型获取订阅者 | 移除相关订阅者 )(二)
【EventBus】事件通信框架 ( 取消注册 | 获取事件参数类型 | 根据事件类型获取订阅者 | 移除相关订阅者 )(二)
94 0
|
Prometheus 监控 Cloud Native
5分钟理解SLS告警通知时机
SLS告警支持丰富的告警管理功能,例如合并抑制静默等功能,跟SLS旧版告警相比增加了很多告警降噪抑制的功能,和用户管理,值班组和可定制复用的内容模板功能。在使用的过程中,因为增加了告警的降噪功能,从告警产生到发送通知这个过程增加了一个告警降噪的过程;因为降噪机制的存在,可能会出现告警触发但不一定会立即发出通知的情况。了解SLS告警通知时机将有助于理解这些情况。
768 0
5分钟理解SLS告警通知时机
|
存储 弹性计算 运维
自建Kubernetes集群如何接入事件通知告警
报警配置功能提供容器场景报警能力的统一管理,包括容器服务异常事件报警,以及容器场景指标报警,支持在创建集群时默认开启报警功能。容器服务的报警规则支持通过集群内部署CRD的方式配置管理。本文介绍如何接入报警配置功能及授予报警功能资源的访问权限。
1038 0
自建Kubernetes集群如何接入事件通知告警
|
弹性计算
ECS事件通知之创建失败事件
ECS提供了批量实例创建接口(https://help.aliyun.com/document_detail/63440.html ),可以一次调用创建最多100台实例。批量创建接口可以完成批量实例的创建、启动、IP分配等流程,可以快速完成实例资源的扩容。 在实例的创建过程中(实际后台异步创建),库存和VSwitch中私网IP的可用数量是动态变化的,在创建过程中有可能资源不满足创建需求,导致
1061 0
Knative Eventing 中如何实现 Registry 事件注册机制
在最新的 Knative Eventing 0.6 版本中新增了 Registry 特性, 为什么要增加这个特性, 该特性是如何实现的。针对这些问题,希望通过本篇文章给出答案。
3762 0