@
binux 这主要是水平扩展的结构,所以一个特性是具备了负载均衡的能力。另外,DNS作为基础的负载均衡,也是一个非常常见的手法。
不论ISP或者本地的DNS查询,都是遵循的DNS的基本协议,所以你可以自己控制TTL的时间,那么出现某个节点问题,可以在很短的窗口期内自动恢复。我们在文章中比较详细的解释过了。
防止单点故障的方案,很多都要考虑不同的场景,而有自己的局限性;比如考虑到节点是分布在各个机房甚至各个国家的,这就过滤掉大部分的解决方案了。 不过@
binux 也可以分享一些,这样能给大家有更多参考的可能。
`心跳`的逻辑本身很简单,我们在文章中也贴了主要的代码,加上内部的一些逻辑判断,都是百行内的规模。比`心跳`更加重要的是,它是按照什么形式跳动的,比如自己web程序中一个组件能否正常运作,这种判断引入第三方的方案,实际上更加麻烦。
更加重要的是,`心跳`只是分布式构架中常见的组成部分,它是逻辑的部分,我们可能这个解释不清楚,举个例子,比如`Serf`,它肯定有心跳机制,但它不是心跳的package……