云端和本地应用同步思路

Cloud and local application sync ideas

我的中央 MySQL 数据库和文件系统 (S3) 在 EC2 上运行。

但是我的一个应用程序在 PI-3 设备上的客户端站点本地运行,它需要从云上的数据库和文件系统查找数据和文件。应用程序依次生成交易记录,需要上传DB和FS(可能在日终)。

具有讽刺意味的是,有时由于连接问题(在偏远地区),云可能不可用。

适应这种情况的最佳策略是什么?

AWS Greengrass 可以提供帮助吗?

  1. 如何保持Lookup数据(DB和FS)与本地设备同步?
  2. 如何update/sync本地设备生成的交易数据?

最后,这种部署模型可能存在哪些风险?

欣赏一些help/suggestions。

  1. 如何保持Lookup数据(DB和FS)与本地设备同步?

您可以拥有一个 Greengrass 组并包括该组中的所有设备。让设备订阅一个主题,例如DB/Cloud/update。设备收到有关该主题的消息后,触发 on-demand lambda 从云端下载最新信息。为确保设备在离线时不会错过任何更新,您可以使用persistent session,这将确保设备在重新在线时会收到所有丢失的消息。

  1. 如何update/sync本地设备生成的交易数据? 您可以尝试使用 Stream Manager。 https://docs.aws.amazon.com/greengrass/latest/developerguide/stream-manager.html 现在,允许您将本地使用的 lambda 添加到 pre-process 数据并将其与云同步