Sirius是“用于管理应用程序引用数据的分布式系统库”,用Scala编写,用于JVM。 Sirius的目标是将数据的完整副本分发到每个节点。
我注意到enqueueGet
方法用于处理GET请求。这涉及在处理之前序列化所有GET请求。但是,我想尝试不对所有GET进行序列化以避免读取延迟;有没有办法避免调用enqueueGet
?如果是的话,我该怎么做?
答案 0 :(得分:1)
Sirius库的设计使每个节点都拥有完整的数据副本。此数据存储在内存中,可直接在应用程序中使用。根据{{3}},enqueueGet
操作强加了可能没有必要的开销。 enqueueGet操作将通常在当前操作完成后立即序列化要执行的get请求。这是本地序列化,它不通过Paxos。使用enqueueGet可以防止应用程序执行并发获取,并且还可以防止在更新数据时执行get。
所以你需要处理两件事: