在平时工作中,eureka作为一个集群时候,我们会配置多个peer ,假设当前有服务器eureka-A,eureka-B,eureka-C。

如果Eureka A的peer指向了B, B的peer指向了C,那么当服务向A注册时,B中会有该服务的注册信息,但是C中没有。也就是说,如果你希望只要向一台Eureka注册其它所有实例都能得到注册信息,那么就必须把其它所有节点都配置到当前Eureka的peer属性中。这一逻辑是在PeerAwareInstanceRegistryImpl#replicateToPeers()方法中实现的:

private void replicateToPeers(Action action, String appName, String id,
InstanceInfo info /* optional */,
InstanceStatus newStatus /* optional */, boolean isReplication) {
Stopwatch tracer = action.getTimer().start();
try {
if (isReplication) {
numberOfReplicationsLastMin.increment();
}
// 如果这条注册信息是其它Eureka同步过的则不会再继续传播给自己的peer节点
if (peerEurekaNodes == Collections.EMPTY_LIST || isReplication) {
return;
} for (final PeerEurekaNode node : peerEurekaNodes.getPeerEurekaNodes()) {
// 不要向自己发同步请求
if (peerEurekaNodes.isThisMyUrl(node.getServiceUrl())) {
continue;
}
replicateInstanceActionsToPeers(action, appName, id, info, newStatus, node);
}
} finally {
tracer.stop();
}
}

最新文章

  1. No Dialect mapping for JDBC type: -9
  2. 【Java 基础篇】【第六课】接口interface
  3. tRNAscan-SE
  4. HDU 2673 shǎ崽 OrOrOrOrz
  5. Oracle跨库访问数据表-DBLINK
  6. [bug] Cannot proceed because system tables used by Event Scheduler were found damaged at server start
  7. 模拟退火小结(Bzoj3680:吊打xxx)
  8. NOIP2014-6-14模拟赛
  9. 模拟赛20181015 Uva1078 bfs+四维dp
  10. CSS scroll-behavior和JS scrollIntoView让页面滚动平滑
  11. 设计模式 笔记 享元模式 Flyweight
  12. SqlServer 批量备份
  13. Ajax在ASP.NET MVC中上传
  14. day7 opencv+python 读取视频,没有东西
  15. (0)linux下的Mysql安装与基本使用(编译安装)
  16. 18.出现Description Resource Path Location Type Unknown error merging manifest
  17. 那些H5用到的技术(5)——视差滚动效果
  18. 安装MySQLdb模块遭遇"fatal error: my_config.h: No such file or directory"的处理
  19. Hadoop 伪分布式上安装 HBase
  20. 进程理论基础(Day32)

热门文章

  1. SAP-财务会计
  2. main方法的参数
  3. maven采用tomcat7启动项目
  4. vscode 中 eslint 的配置
  5. Java类的加载与生命周期
  6. math worksheet作业纸生成器
  7. 一.编译nginx
  8. 分享知识-快乐自己:初始 Struts2 (基本概念)及 搭建第一个Demo
  9. the art of seo(chapter ten)
  10. storm源码剖析(3):topology启动过程