购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.11 多网卡环境下的IP选择

对于多网卡的服务器,各个微服务注册到Eureka Server上的IP要如何指定呢?

指定IP在某些场景下很有用。例如某台服务器有eth0、eth1和eth2三块网卡,但是只有eth1可以被其他的服务器访问;如果EurekaClient将eth0或者eth2注册到EurekaServer上,其他微服务就无法通过这个IP调用该微服务的接口。

Spring Cloud提供了按需选择IP的能力,从而避免以上的问题。下面来详细讨论。

1.忽略指定名称的网卡,例如:

img
img

这样就可以忽略docker0网卡以及所有以veth开头的网卡。

2.使用正则表达式,指定使用的网络地址,示例如下:

img

3.只使用站点本地地址,示例如下:

img

这样就可强制使用站点本地地址。

4.手动指定IP地址。在某些极端场景下,可以手动指定注册到Eureka Server的微服务IP。示例:

img
img

本节相关代码,详见本书配套代码中的microservice-provider-user-ip项目。

img

●站点本地地址与链路本地地址: https://4sysops.com/archives/ipv6-tutorialpart-6-site-local-addresses-and-link-local-addresses/ .

●源码分析: http://www.itmuch.com/spring-cloud-code-read/spring-cloud-coderead-eureka-registry-ip/ . 0Hqfrn9teDHSrBt72ht4lneDqn3rGAuhsH6EU2MNnrsj8cx/OBb9aTs2ORF9RnIM

点击中间区域
呼出菜单
上一章
目录
下一章
×