laravel - 从 Lambda 即时推送消息到 Web 主机?
问题描述
通过 AWS Lambda 实时(或接近实时)向 Laravel 发送消息的好方法是什么?
我可以通过 Lambda 在 SQS 中添加一条消息,Laravel 将读取 SQS,但这需要每分钟左右轮询一次从 SQS 队列中读取......
另一种方法是通过 API 向 Laravel 发送消息,但是如果 laravel 主机宕机了,那我们就完蛋了。
解决方案
这是我们使用 Laravel 处理它的方式,
Kinesis Data Streams --> (Kinesis Trigger) Lambda --> Laravel
https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html
如果 Laravel 宕机,则在 Lambda 中抛出异常,消息将重试回 Lambda 以再次尝试。
这将一直尝试,直到 Kinesis 中的消息终生存在。如果将存储时间设置为 7 天,则会重试 7 天,然后数据从 kinesis 流中消失。
希望能帮助到你。
推荐阅读
- python - Tiled / pytmx - 在不同地图中为相同图像获取相同 gid 的问题
- hyperlink - 从 youtube 页面的侧边栏中提取 youtube 链接
- python - pipenv CLI 可以使用 --keep-outdated 选项安装到开发包中吗?
- sql - 在 SQL Server 中将 15 分钟转换为 10 分钟时间序列
- swift - Mac OS 桌面音频主机应用程序无法加载某些 AVAudioUnit 插件
- git - 有没有办法指定一个自定义工具在进行合并时始终由 git 使用?
- python-3.x - 无论如何要格式化由 map 函数制成的字符串?
- java - Java 中的 If Else
- python - 关于从标准输入随机化的 Python 问题
- c# - 使用 EF 防止公开更改收集内容