Rya*_*hou
3
.net
distributed
computation
orleans
我对分布式计算和orleans很陌生,最近对那些\xef\xbc\x8进行了一些研究,不确定orleans是否可以用于新任务。
\n\n
这个任务是,有很多项目属于不同的人,每个项目都有大量的数据。对于每个项目,步骤如下:
\n\n
\n- 通过计算原始数据得到新的数据。原始数据存储在分布式数据库中,然后新的数据将存储回数据库。MQ或Redis可用于提高性能。
\n- 根据新数据计算汇总值并将汇总值保存回数据库。
\n
\n\n
我的问题是:
\n\n
\n- 服务器/Grain 负载平衡:没有唯一 ID 的 Grans。最好在所有服务器上运行多个grain以实现负载平衡,每个grain只是从数据库获取数据并进行计算,不需要创建带有id的实例。对于Orleans来说,除了无状态的Grain之外,不允许有没有唯一id的Grain,无状态的Grain只在本地运行。
\n- 长时间运行计算:计算和总结可能需要几秒钟或几分钟才能完成工作,是否建议使用grains\xef\xbc\x9f,似乎文档中不建议使用。
\n- 顺序执行:需要先根据原始数据计算出新值,然后根据新值进行汇总。这意味着用于汇总的grain必须在所有用于计算的grain完成之后才运行。
\n- 数据缓存: Grains通过本地网络从数据库获取数据并将数据保存到数据库,对于orleans是否有减少数据传输的建议\xef\xbc\x9f
\n
\n