主要是看网上别人的博客,未经尝试。
先看一张关于springcloud的图,里面列出了一个电商系统中各个springcloud组件与微服务间关系。
注册中心(服务发现)
微服务架构需要面对的第一个问题就是微服务间无法知道其他微服务的存在和ip地址,所以微服务架构的一个重要组件就是注册中心,用来负责微服务的注册和发现。注册中心主要记录微服务的ip地址和端口号。
常用的注册中心有nacos和eureka,下面的截图是在nacos中注册了一个gateway-admin的服务后的截图
Nacos的使用非常简单,服务端需要下载Nacos并启动Nacos server,而对于SpringBoot框架的开发项目,只需要在pom文件中添加依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
再在SpringBoot的配置文件application.yaml中添加
server:
port: ${SERVER_PORT:8086}
spring:
application:
name: mqms
cloud:
nacos:
discovery:
server-addr: ${REGISTER_HOST:localhost}:${REGISTER_PORT:8848}
config:
server-addr: ${REGISTER_HOST:localhost}:${REGISTER_PORT:8848}
file-extension: yml
需要注意的是,上面的yaml文件也将nacos作为配置中心了。