Netflix eureka 当同步操作失败时,eureka对等方如何保证注册信息的一致性
注册更改时将同步到其他对等方,代码如下:Netflix eureka 当同步操作失败时,eureka对等方如何保证注册信息的一致性,netflix-eureka,paxos,gossip,Netflix Eureka,Paxos,Gossip,注册更改时将同步到其他对等方,代码如下: private void replicateInstanceActionsToPeers(Action action, String appName, String id, InstanceInfo info, InstanceStatus newStatus, PeerEur
private void replicateInstanceActionsToPeers(Action action, String appName,
String id, InstanceInfo info, InstanceStatus newStatus,
PeerEurekaNode node) {
try {
InstanceInfo infoFromRegistry = null;
CurrentRequestVersion.set(Version.V2);
switch (action) {
case Cancel:
node.cancel(appName, id);
break;
case Heartbeat:
InstanceStatus overriddenStatus = overriddenInstanceStatusMap.get(id);
infoFromRegistry = getInstanceByAppAndId(appName, id, false);
node.heartbeat(appName, id, infoFromRegistry, overriddenStatus, false);
break;
case Register:
node.register(info);
break;
case StatusUpdate:
infoFromRegistry = getInstanceByAppAndId(appName, id, false);
node.statusUpdate(appName, id, newStatus, infoFromRegistry);
break;
case DeleteStatusOverride:
infoFromRegistry = getInstanceByAppAndId(appName, id, false);
node.deleteStatusOverride(appName, id, infoFromRegistry);
break;
}
} catch (Throwable t) {
logger.error("Cannot replicate information to {} for action {}", node.getServiceUrl(), action.name(), t);
}
}
我对多台eureka服务器的分布式一致性感到困惑。当复制操作失败时,它只是抓住了可丢弃的东西。为什么不使用诸如gossip、paxos之类的一致性算法来确保更高的一致性呢
我看到了的描述,知道eureka只是让它暂时不一致。服务器试图尽可能地恢复。哈哈,cap理论 我看到了维基的描述,知道eureka只是让它暂时不一致。服务器试图尽可能地恢复。啊哈,cap理论!