分布式系统中的心跳机制
在分布式系统中,如何知道一个节点或服务是否存活并正常运行。与单体应用程序不同——单体应用中所有组件都在单个进程内运行,分布式系统横跨多台机器、多个网络和多个数据中心。当这些节点在地理上分隔时,这个问题变得更加突出。这正是心跳机制发挥作用的场景。
如果有一个超大分布式系统,有成百上千个微服务运行在几百台分布在不同数据中心的服务器上,如果一台服务器突然挂了,系统能多快检测到这一故障并作出反应?我们如何区分服务器宕机还是网络卡了?这就是心跳机制成为分布式系统核心一部分的重要原因。