开发者社区 > 云原生 > 微服务 > 正文

想问一下,MSE微服务引擎 里面的mq 灰度,采用了property 过滤,那灰度消息降级是怎么?

想问一下,MSE微服务引擎 里面的mq 灰度,采用了property 过滤,那灰度消息降级是怎么实现的?就是灰度消息让基线消息

展开
收起
真的很搞笑 2023-08-08 20:33:41 88 0
5 条回答
写回答
取消 提交回答
  • 当灰度消息需要降级时,可以将灰度消息转换为基线消息,即将灰度消息的属性修改为基线消息的属性。这样,消费者在处理消息时就会将灰度消息当作基线消息来处理,从而实现降级。
    image.png

    2023-10-26 19:49:00
    赞同 展开评论 打赏
  • 在MSE微服务引擎中,如果采用了属性(property)过滤来进行消息的灰度控制,实现灰度消息的降级可以通过以下方式进行:

    定义属性:在消息中定义一个属性,用于标识消息的灰度级别或其他相关信息。例如,可以在消息的属性中添加一个名为"灰度级别"的属性,并赋予不同的值,如"基线"、"灰度A"、"灰度B"等。

    消息过滤:基于消息的属性值,使用属性过滤机制将消息分发到不同的消费者或处理逻辑中。在此过程中,可以通过设置过滤规则,将特定属性值的消息路由到对应的灰度消费者组或灰度处理逻辑中。

    降级处理:对于灰度消息,可以在消费者或处理逻辑中进行降级处理。具体的降级处理方式可以根据业务需求而定,例如,可以选择不执行某些复杂逻辑、返回默认值、忽略消息等。这样,灰度消息就会被降级处理,不会对系统的正常运行产生较大影响。灰度.jpg

    2023-10-22 22:23:43
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    ,可以通过设置属性(Property)来实现对消息的过滤。当灰度策略匹配某个消息时,该消息将按照指定的降级策略进行处理。以下是实现灰度消息降级的步骤:

    1. 首先,您需要为灰度消息定义降级策略。降级策略是一个函数,它接收消息属性作为参数,并返回一个布尔值。当该函数返回 true 时,表示消息应该被降级;当返回 false 时,表示消息不应该被降级。
    2. 在 MSE 控制台中,您需要为消息队列的消费方设置灰度策略。具体操作步骤是:进入消息队列的“配置”页面,然后在“消费方”部分找到您要设置灰度策略的消费方,点击“编辑”按钮。
    3. 在弹出的编辑对话框中,选择“灰度策略”选项卡。在这里,您可以设置灰度策略的名称、降级函数等信息。
    4. 保存设置后,MSE 控制台会自动将灰度策略应用到消息队列的消费方。当消费方收到消息时,MSE 会根据灰度策略对消息进行过滤,如果消息满足降级条件,那么消息将被降级处理。
    2023-10-17 21:38:46
    赞同 展开评论 打赏
  • 在MSE微服务引擎的mq灰度中,采用property过滤的灰度消息降级是通过以下步骤实现的:

    1. 在生产环境中,服务的启动参数中会包含一些灰度相关的属性,例如灰度策略、灰度比例等。
    2. 在服务消费消息时,会通过message头中的属性来判断消息是否为灰度消息。如果message头中包含灰度相关的属性,那么这个消息就会被视为灰度消息。
    3. 如果消息被判断为灰度消息,那么消息就会被传递到灰度版本的服务进行处理。而灰度版本的服务与生产版本的服务在代码和配置上是完全一样的,只是在启动参数中加入了灰度相关的属性。
    4. 如果消息被判断为非灰度消息,那么消息就会被传递到生产版本的服务进行处理。
      通过这种方式,可以实现灰度消息的降级,即将灰度消息传递到灰度版本的服务进行处理,而不是传递到生产版本的服务进行处理。
      image.png
    2023-10-16 14:57:18
    赞同 展开评论 打赏

为微服务建设降本增效,为微服务落地保驾护航。

相关产品

  • 微服务引擎
  • 相关电子书

    更多
    基于 RocketMQ+ Knative 驱动云原生 Ser 立即下载
    基于 RocketMQ + Knative 驱动云原生 Serverless 应用 立即下载
    RocketMQ Operator-K8s平台自动化部署工具 立即下载