开发者社区 > 云原生 > Serverless > 正文

函数计算中这个异步调用请求正文有效负载最大为128kb意味消息内容的大小需要限制在128kb以内吗?

阿里函数计算中问题一:这个异步调用请求正文有效负载最大为128kb的意思是,如果我用rocketMQ触发器 触发函数,消息内容的大小需要限制在128kb以内吗?71f80708faa6879cec7b440c7470f3dd.pngrocketmq 问题二:如果选择同步触发,是什么样的效果,我理解异步的就是:我想要触发函数的时候,发送一个rocketmq 消息,函数执行完可以通过消息的方式回调到我的业务系统,把执行结果给我,那同步是什么样的?在函数计算发rocketmq 的文档有吗?

展开
收起
小小鹿鹿鹿 2023-11-13 20:21:18 59 0
3 条回答
写回答
取消 提交回答
  • 在阿里函数计算中,如果选择 RocketMQ 触发器来触发函数,消息内容的大小需要在 128kb 以内。如果你尝试发送一个大于这个限制的消息,函数计算会无法正确处理这个消息,并可能导致你的函数无法被正确触发。

    至于同步触发和异步触发的效果,这两者具有不同的特点。对于异步调用,事件会直接触发函数,但函数计算会先运行该函数然后等待响应。当函数计算接收到响应后,它会将执行结果返回给你,例如返回结果、执行摘要和日志输出。这意味着,你可以实时感知业务状态并控制执行函数,对一些异常情况进行更好的处理,例如报警通知、自动化重试等情况。

    而在同步触发中,当您同步调用一个函数时,事件会直接触发函数,函数计算会运行该函数并等待响应。需要注意的是,此时函数计算会一直等待函数执行完成并获取到返回结果后才会继续执行后续的操作。因此,同步调用可能会阻塞您的程序执行,直到函数执行完成。

    总的来说,选择哪种触发方式主要取决于你的实际业务需求和场景。例如,如果你需要获取到函数的执行结果才能继续下一步操作,那么你可能需要选择同步触发;如果你的业务可以容忍一定程度的延迟,那么异步触发可能会是一个更好的选择。

    2023-11-30 14:58:19
    赞同 1 展开评论 打赏
  • 针对问题一:是的 除非您选择同步调用,配置 rocketmq 触发器的时候可以选同步。针对问题二:1. 在 FC 里创建 rocketmq 触发器并选择同步调用,这个时候往消息队列发消息,会自动触发函数,消息的大小不能超过 32MB,函数处理完需要自己在函数的业务逻辑里去往消息队列里发消息。

    1. 在 FC 里创建 rocketmq 触发器并选择异步调用,这个时候往消息队列发消息,会自动触发函数,消息的大小不能超过 128KB,函数处理完不需要自己在函数的业务逻辑里去往消息队列里发消息,直接通过函数“异步配置”里的成功或失败目标直接把函数的输出投递到 rocketmq 即可。这个您就看 rocketmq 的sdk文档就行了 一样的哈。此回答来自钉群阿里函数计算官网客户。
    2023-11-15 07:58:51
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    是的,根据阿里云函数计算 FC 的官方文档,当您使用 RocketMQ 触发器时,每个消息的有效负载最大为 128KB。
    这个限制是由于阿里云函数计算 FC 的内部处理机制决定的,当接收到的消息超出 128KB 限制时,FC 将拒绝接收该消息,并返回错误。
    因此,建议您在使用 RocketMQ 触发器发送消息时,确保每条消息的有效负载不超过 128KB,以免产生错误。

    2023-11-14 14:22:47
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载