我的应用程序运行每日作业,收集数据并将其提供给mongoDB . 处理此数据,然后通过rest API公开 .
需要在AWS中设置mongodb集群,要求:
-
数据每天将增长大约相同的大小(约50M记录),因此写入吞吐量不会增长
-
读取吞吐量将取决于用户/流量的数量,因此它应该是可扩展的 . 一开始交通不会很重 .
-
数据主要是简单的JSON,需要围绕某些字段的几个索引进行快速查询/过滤 .
what kind of architecture should I use in terms of replica sets, shards, etc ?.
What kind of storage volumes should I use for this architecture? ( EBS, NVMe) ? Is it preferred to use more instances or to use RAID setups. ?
我希望每个月花一些〜500 .
提前致谢
1 回答
要在AWS中设置MongoDB集群,我建议您参考最新的AWS quick start for MongoDB,它将涵盖体系结构方面,并提供CloudFormation模板 .
对于存储卷,您需要使用支持EBS而不是NVMe存储的EC2实例类型,因为NVMe只是一个实例存储 . 如果停止并启动EC2,则NVMe中的数据将丢失 .
此外,对于存储卷吞吐量,您可以从具有合理存储大小的通用IOPS开始,如果您发现任何限制,则只考虑预配置IOPS .
为了实现高可用性和容错,CloudFormation将在MongoDB集群中创建多个实例(节点) .