0

我有两个 genserver 实现,它们都通过发出 http 请求来执行查找,并且都返回相同的信息,它们使用不同的提供程序来执行此操作。

我想找出一种方法,我可以让第一个进程运行,并且在失败或验证失败时,这个进程将故障转移到使用不同提供程序的第二个 genserver。

基本上,我想要完成的是各种进程故障转移:尝试进程 A,如果 A 失败,则尝试进程 B。

您会建议在 Elixir 中执行此操作的最佳方法是什么?

4

1 回答 1

1

您可以创建另一个代理进程(管理器),它接收 HTTP 请求,并决定 process_A 或 process_B 是否处理此请求,然后在故障转移时将故障转移到另一个进程。

换句话说,我认为处理故障转移不是工作进程的工作,管理进程应该接管它。

于 2016-11-11T08:15:27.230 回答