我在Erlang(單一節點)中實現「流程註冊表」,因此我可以根據各種字段/條件查找用戶流程。這些進程將異步更新mnesia ram數據庫,方法是將其轉換爲管理該表的服務器進程。服務器進程還將監視進程,以便在進程意外死亡時可以刪除條目。Mnesia流程註冊表最佳實踐
這是否有意義?將ref放在每個註冊表表格的元組鍵中是最好的方法嗎?我認爲這種模式比較常見,人們通常如何做到這一點(請不要說gproc)?
我在Erlang(單一節點)中實現「流程註冊表」,因此我可以根據各種字段/條件查找用戶流程。這些進程將異步更新mnesia ram數據庫,方法是將其轉換爲管理該表的服務器進程。服務器進程還將監視進程,以便在進程意外死亡時可以刪除條目。Mnesia流程註冊表最佳實踐
這是否有意義?將ref放在每個註冊表表格的元組鍵中是最好的方法嗎?我認爲這種模式比較常見,人們通常如何做到這一點(請不要說gproc)?
理論上它有很多意義。許多程序需要這樣的東西。
實際上,您應該在本地模式下使用gproc,而不是重新發明輪子。
Gproc不允許增加erlang集羣。它應該在添加新機器時重新啓動。
你可以使用syn出於同樣的目的:https://github.com/ostinelli/syn 這是基於mnesia的進程註冊表有一些限制。 它不能保留一個pid幾個名字(不幸)