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

函数计算中,我想实现这样一个功能,不知道官方有没有推荐的架构?

函数计算中,我想实现这样一个功能,不知道官方有没有推荐的架构?同时只允许一个进程运行,这个用Serverless能实现吗?
1.我有一个爬虫,因为有qps限制,所以只能定时单线程爬取,爬取的数据最好丢到类似mq里面。
2.从mq里面获取数据,然后进行二次处理。
3.将二次处理结果,存放到某个存储。
4.根据规则,如果匹配到相关规则,就进行告警发送通知。

展开
收起
多麻辣哦 2024-01-09 22:14:22 39 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。
    1. 对于爬虫功能,您可以使用阿里云的函数计算服务(Function Compute)来实现。您可以创建一个Python函数来处理爬虫任务,并使用定时触发器来定期执行该函数。同时,您可以使用消息队列服务(如阿里云的MQS)来存储爬取到的数据,以便后续处理。

    2. 对于从MQS中获取数据并进行二次处理的功能,您可以创建另一个Python函数来实现。这个函数可以从MQS中接收消息,然后进行数据处理和分析。

    3. 对于将二次处理结果存放到某个存储的功能,您可以使用阿里云的对象存储服务(OSS)或其他云存储服务来存储处理后的数据。

    4. 对于根据规则发送告警通知的功能,您可以在第二个Python函数中添加相应的逻辑来实现。例如,您可以使用阿里云的短信服务(如阿里云的短信API)来发送告警通知。

    关于只允许一个进程运行的问题,Serverless架构本身不支持限制单个函数实例的并发数。但是,您可以通过设置函数的最大执行时间和内存限制来间接实现类似的效果。例如,您可以设置函数的最大执行时间为5分钟,以确保在一个时间段内只有一个函数实例在运行。

    2024-01-11 13:20:03
    赞同 展开评论 打赏
  • 这个可以给函数加一个弹性规则,最大实例数是 1,然后通过异步调用的方式,函数这边就会自动排队,一个一个处理。
    ——此回答整理自钉群:阿里函数计算官网客户

    2024-01-09 23:13:59
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

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