准备
为了完成这个示例,我们需要:
一个服务注册中心
两个微服务
一个数据库
服务注册中心:我们要用到服务发现和服务注册,这里用一个
单节点的 Eureka Server 来做。
了解springcloud架构可以加求求:三五三六二四七二五九
两个微服务:帐户服务和客户服务。每个微服务都有自己的数据库,且对外暴露简单的
响应式 API,用于检索和存储数据。另外,客户服务与帐户服务可以相互通信,以获取客户的所有帐户,并通过客户服务 API 方法返回。
数据库:因为现在还没几个数据库有实现了反应式数据访问的可用驱动,Spring Data Reactive 目前仅支持 MangoDB、Redis 和 Cassandra,简单起见我们就用 MangoDB。MangoDB 我这里使用 Docker 来创建,一切均用默认配置(主要是懒 ,这样就不用去改 Spring Boot 的配置文件了)
docker run -d --name mongo -p 27017:27017 mongo
实战
服务注册中心
新建一个基本的 Spring Boot 工程,命名为
eureka-server。
pom.xml 中依赖坐标如下:
org.springframework.cloud
spring-cloud-starter-netflix-eureka-server
配置文件 application.yml 配置如下:
spring:
application:
name: eureka-server
eureka:
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://localhost:8000/eureka/
server:
port: 8000
在启动类上加上
@EnableEurekaServer
注解
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}