用于Chat-Web-Mobile应用程序的Amazon EC2 + Nodejs + DynamoDB

时间:2017-03-03 16:29:21

标签: php node.js chat amazon-dynamodb

我想建立一个聊天应用程序(基于PHP和nodejs),数据库将是DynamoDB。这个Web应用程序的数据将非常大(数十亿行),用户将超过1000万 要求:
- 用户可以访问网站并在那里聊天(包括网络和移动设备) - 进入网络/聊天时,来自亚洲地区和美国地区的用户必须在该地区进行路由 区域将来会增加,现在我遇到了2个区域实例之间同步数据的问题,以及应用程序的性能。这是我找到的2个解决方案:

1.使用2个带有2个dynamodb的实例,然后使用Route 53来路由流量,但问题是我不知道nodejs服务器如何与2个数据库同步数据
2.使用2个带1个dynamodb的实例(但我不知道放置数据的区域,因为性能不佳)

还有一件事:我将使用S3存储资源,但我担心太多地区(未来)的加载速度。

有什么想法来改进这个解决方案吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

聊天平台上的大多数用户都会围绕特定区域。我认为你可以充分利用这两种解决方案。使用cross region replication同步两个DynamoDB表中的更改,每个区域一个。您可以使用自己的lambda函数或cross-region replication library来完成此操作。因此,您可以掌握在亚洲AWS区域中在亚洲创建帐户的用户,并掌握在北美AWS区域中创建的帐户。然后,在您设置的lambda函数上,仅将更改传播到未在另一个表中控制的项目(这样您就不会在相互写入的流中无限循环)。