Erlang负载均衡器

标签 erlang distributed

关闭。这个问题是off-topic .它目前不接受答案。












想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




负载均衡器必须知道所有节点。客户端将与负载均衡器交互,然后负载均衡器将每个任务交给节点。

如果客户端总是访问同一个(单个)负载均衡器,怎么可能没有单点故障?你不能有两个负载均衡器,否则客户端怎么知道要连接到哪一个?

对于设计的某些部分您无法避免单点故障,是否可以接受?

最佳答案

将多个负载均衡器作为高可用性解决方案的一部分非常普遍,并且负载均衡器无需成为单点故障。负载平衡器可以例如放置在 float 在它们之间的单个虚拟 IP 地址后面。如果一个 IP 出现故障,IP 会转移到另一个接管的 IP。客户端只知道它始终连接到的单个虚拟 IP。

如果客户端是 Erlang 节点并且通过 Erlang 消息传递进行通信(在提供答案的第一部分时错过了这一点),您可以将负载平衡进程设置为属于一个进程组(pg2)并通过它路由。这将允许您让多个负载均衡器共享负载。如果所有请求都必须通过单个进程进行路由,您可以将一个进程注册为全局进程,并在其他节点上部署相同的进程作为备份。这些备份需要监控全局服务,并在全局进程丢失时接管。

关于Erlang负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13056285/

相关文章:

erlang - Mnesia、选择索引和二级索引

Erlang 在 0 之后接收

java - TCP/IP 等的套接字应该放在一个单独的类中吗? ( java )

web - 如何在分布式系统中部署akka,实现高可用?

java - Zipkin,使用现有库来处理与 Apache Kafka 连接的微服务中的跟踪

Erlang:在编译时计算数据结构文字(常量)?

erlang - 无法启动简单的 Erlang cowboy 应用程序

centos - 无法启动 RabbitMQ STOMP 插件?

tensorflow - 分布式 tensorflow 中参数服务器与主服务器的比例是多少?

c# - .NET 的分布式文件系统