spring-cloud整合nacos做注册中心
前面讲了spring-cloud整合nacos做配置中心,这节讲一下nacos做注册中心
至于注册中心是什么,我就不讲了,不了解的可以去问度娘
下面我就直接开始了,也是比较简单的:
1.引入依赖
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Hoxton.SR8</spring-cloud.version>
<spring-cloud-alibaba.version>2.2.1.RELEASE</spring-cloud-alibaba.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2.配置yml
server:
port: 6001
spring:
application:
name: nacosdiscover
main:
allow-bean-definition-overriding: true #springboot 2.1需要设置
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
namespace: 76284517-01e8-40c7-a17d-a120e2428498
inetutils:
preferred-networks: 10.8.32 #如果注册到nacos上的ip是内网,服务访问不到,可配置此项,地址为网关前缀
3.启动类需要加@EnableDiscoveryClient注解
启动看效果

完事,就是这么简单
4.最后补充一点在服务器docker部署的时候,注册到nacos上的是docker的内网地址会导致服务访问失败
启动 Docker的时候,用 --network 参数,可以指定网络类型
--network host
host: 主机网络使用 --network=host,此时,Docker 容器的网络会附属在主机上,两者是互通的。 例如,在容器中运行一个Web服务,监听8080端口,则主机的8080端口就会自动映射到容器中。
docker run -d --network=host --name business -p 8001:8001 business01
结果:
Nacos注册中心获取到宿主机IP, 微服务之间调用成功!

浙公网安备 33010602011771号