0

我需要了解如何为 AWS 进行容量规划以及使用什么样的基础设施组件。我以下面的例子为例。

我需要设置一个基于 nodejs 的服务器,它使用 kafka、redis、mongodb。将有 250 台设备连接到服务器并每 10 秒发送一次数据。每个数据包的大小约为 10kb。我将使用 64 位 ubuntu 映像

我需要估计的,

  • MongoDB 需要至少 3 台服务器来实现冗余。如何估计所需的 VM 和 EBS 卷的大小,例如应该是 m4.large、m4.xlarge 还是其他?默认 EBS 卷大小为 30GB。
  • 运行其他应用程序组件(包括 nodejs、kafka 和 redis 的 3-4 个进程)的 VM 的大小应该是多少?例如应该是 m4.large、m4.xlarge 还是其他?
  • 我可以在自动缩放组中只保留一个应用程序服务器,并随着负载的增加而增加,或者我应该至少使用 2 个吗?

我想大致了解,鉴于设备的数量、数据包大小和数据频率,我们如何去估计要考虑的 VM 以及要考虑的存储量以及可能还有其他考虑因素

4

1 回答 1

1

没有人可以为你回答这个问题。这完全取决于您的应用程序和使用模式。

正确回答这个问题的唯一方法是部署一些基础设施并模拟标准使用情况,同时测量系统的性能(吞吐量、延迟、磁盘访问、内存、CPU 负载等)。

然后,修改基础架构(添加/删除实例、更改实例类型等)并再次测量。

您当然应该根据您的要求运行最小部署(例如,在不同的可用区中的实例以实现高可用性),并且您可以在需要时使用Auto Scaling添加额外容量,但还需要进行模拟测试以确定更多容量的正确触发点应该添加。例如,最好的指标可能是内存、CPU 或延迟。这完全取决于应用程序以及它在负载下的行为方式。

于 2018-09-04T07:52:03.067 回答