我想设置一个查询 arabgodb 的 api。我正在争论是否设置使用 foxx 微服务或有一个将使用 pyarango 查询数据库的后端。两种选择的优缺点是什么?
问问题
38 次
1 回答
0
优缺点很大程度上取决于您和您的技能组合(Python 与 JavaScript),但您似乎真的在询问在专用服务器 (Python) 或 ArangoDB 平台 (Foxx) 内运行 API 中间件。
对于单节点安装,让您的查询靠近服务器 (Foxx) 将为您提供非常低延迟的查询性能,但代价是与数据库引擎共享 CPU 和内存。
使用集群时动态变化显着 - Foxx 引擎必须位于与 DB 引擎不同的服务器上(请参阅集群架构文档)。这缓解了 CPU/内存共享问题,还为您的 API 提供了一种高可用性,但也引入了其他更严重的集群特有的查询性能问题。
底线:如果您不完全了解(或不准备处理)集群性能,请坚持使用单个节点。如果您不愿意为 Foxx 引擎放弃 CPU/内存,请使用单独的中间件服务器。还有许多其他细节需要考虑,但(对我而言)这是主要决定。
另外,请注意只有两种模式:“集群”和“单一”,但有几种部署集群的方式(主/从、主动故障转移、一个分片、多分片等)。
于 2021-05-17T18:15:43.870 回答