本文提纲
1. springcloud-eureka-sample 工程介绍
2. 运行 springcloud-eureka-client-customer 服务消费者工程
3. 详解 springcloud-eureka-client-customer 服务消费者工程
一、springcloud-eureka-sample 工程介绍
还是回到Eureka 集群简单架构图:
第一小节《Spring Cloud Eureka 入门 (一)服务注册中心详解》实现了 Eureka Server 作为注册中心,
第二小节《Spring Cloud Eureka 入门 (二)服务提供者详解》是 Provider Service B 的案例,实现了 Eureka Cleint 作为服务提供者,包括其服务的注册和心跳的功能。
本小节,是 Provider Service A 的案例,实现了 Eureka Cleint 作为服务消费者,包括其服务的注册和心跳的功能,还有其服务发现和通过 Ribbon 进行服务调用的功能。
springcloud-eureka-client-customer 服务消费者工程,他本身也是一个服务提供者。即具有服务提供功能和服务消费功能。下面去运行该工程
二、运行 springcloud-eureka-client-customer 服务消费者工程
运行环境:JDK 7 或 8,Maven 3.0+
技术栈:Spring Cloud Dalston.SR1、 spring-cloud-netflix 1.3.1、Spring Boot 1.5.4
自然,我们先得去上一小节《Spring Cloud Eureka 入门 (一)服务注册中心详解》 ,把注册中心工程启动完毕。
1. git clone 下载工程 springcloud-learning-example
项目地址见 GitHub - https://github.com/JeffLi1993/springcloud-learning-example:
2. Maven 编译安装这个工程:
3. 运行 Eureka 工程 springcloud-eureka-client-customer
启动 springcloud-eureka-client-customer 工程启动类 CustomerApplication,启动服务注册中心工程。
EurekaServerApplication 类路径:/springcloud-learning-example/springcloud-eureka-sample/springcloud-eureka-client-customer/src/main/java/org/spring/springcloud/CustomerApplication.java
控制台 Console 看到这类信息,代表启动成功: 可以看出,注册了应用名为 CUSTOMER-SERVICE 的应用,该服务提供者的工程端口为 8081
4. 访问 Eureka 注册中心可视化界面
打开浏览器,访问 http://localhost:8888/ ,如图所示:
可以看到,服务提供者向服务注册中心注册自己的实例,展示了应用名和端口信息等。
5.访问服务消费者案例
打开浏览器,访问 http://localhost:8081/customer,如图所示:
可以看出,下面一句消息 Hello,Provider! ,是服务消费者调用服务提供者获取的信息。
三、详解 springcloud-eureka-client-customer 服务消费者工程
1.springcloud-eureka-client-customer 工程目录结构
ProviderApplication.java Eureka Discovery Client 启动类,启动服务消费者工程,本身也会注册到注册中心,也能发现其他服务。
CustomerController.java 服务消费者 HelloWorld 案例
application.yml 配置文件
2. pom.xml 配置 使用的依赖是
- spring-cloud-netflix 1.3.1 是 Spring Cloud Dalston.SR1 版本。
- spring-cloud-starter-eureka Eureka Client 模块依赖,包含了客户端 client 的依赖,还有 Ribbon 的依赖,如:org.springframework.cloud:spring-cloud-netflix-eureka-client:1.3.1.RELEASE
org.springframework.cloud:spring-cloud-starter-ribbon:1.3.1.RELEASE
3. application.yml 配置
4.服务消费者应用启动类
@EnableDiscoveryClient 标志该应用作为 Eureka Client ,并会自动化读取 Eureka 相关配置。还有向服务注册中心发现服务并进行调用。
@LoadBalanced 标志着 RestTemplate 是通过 Ribbon 客户端负载均衡去调用服务提供者集群的。即可以在获取的服务提供者实例列表中,通过 Ribbon 进行选择某实例,然后调用该服务实例。
6.服务消费者 Hello World 案例 可以看到注入了 RestTemplate 对象,它是 HTTP 访问操作类。
然后 customer 方法,通过 restTemplate 通过 HTTP 协议调用服务提供者暴露的 provider 接口,并获取服务提供者的结果。然后组装输出。
四、小结
此小章节介绍了如何 Eureka 作为服务消费者,并向服务注册中心注册自己实例,更重要的是发现其他服务,并调用其他服务。
1. springcloud-eureka-sample 工程介绍
2. 运行 springcloud-eureka-client-customer 服务消费者工程
3. 详解 springcloud-eureka-client-customer 服务消费者工程
一、springcloud-eureka-sample 工程介绍
还是回到Eureka 集群简单架构图:
第一小节《Spring Cloud Eureka 入门 (一)服务注册中心详解》实现了 Eureka Server 作为注册中心,
第二小节《Spring Cloud Eureka 入门 (二)服务提供者详解》是 Provider Service B 的案例,实现了 Eureka Cleint 作为服务提供者,包括其服务的注册和心跳的功能。
本小节,是 Provider Service A 的案例,实现了 Eureka Cleint 作为服务消费者,包括其服务的注册和心跳的功能,还有其服务发现和通过 Ribbon 进行服务调用的功能。
springcloud-eureka-client-customer 服务消费者工程,他本身也是一个服务提供者。即具有服务提供功能和服务消费功能。下面去运行该工程
二、运行 springcloud-eureka-client-customer 服务消费者工程
运行环境:JDK 7 或 8,Maven 3.0+
技术栈:Spring Cloud Dalston.SR1、 spring-cloud-netflix 1.3.1、Spring Boot 1.5.4
自然,我们先得去上一小节《Spring Cloud Eureka 入门 (一)服务注册中心详解》 ,把注册中心工程启动完毕。
1. git clone 下载工程 springcloud-learning-example
项目地址见 GitHub - https://github.com/JeffLi1993/springcloud-learning-example:
2. Maven 编译安装这个工程:
3. 运行 Eureka 工程 springcloud-eureka-client-customer
启动 springcloud-eureka-client-customer 工程启动类 CustomerApplication,启动服务注册中心工程。
EurekaServerApplication 类路径:/springcloud-learning-example/springcloud-eureka-sample/springcloud-eureka-client-customer/src/main/java/org/spring/springcloud/CustomerApplication.java
控制台 Console 看到这类信息,代表启动成功: 可以看出,注册了应用名为 CUSTOMER-SERVICE 的应用,该服务提供者的工程端口为 8081
4. 访问 Eureka 注册中心可视化界面
打开浏览器,访问 http://localhost:8888/ ,如图所示:
可以看到,服务提供者向服务注册中心注册自己的实例,展示了应用名和端口信息等。
5.访问服务消费者案例
打开浏览器,访问 http://localhost:8081/customer,如图所示:
可以看出,下面一句消息 Hello,Provider! ,是服务消费者调用服务提供者获取的信息。
三、详解 springcloud-eureka-client-customer 服务消费者工程
1.springcloud-eureka-client-customer 工程目录结构
ProviderApplication.java Eureka Discovery Client 启动类,启动服务消费者工程,本身也会注册到注册中心,也能发现其他服务。
CustomerController.java 服务消费者 HelloWorld 案例
application.yml 配置文件
2. pom.xml 配置 使用的依赖是
- spring-cloud-netflix 1.3.1 是 Spring Cloud Dalston.SR1 版本。
- spring-cloud-starter-eureka Eureka Client 模块依赖,包含了客户端 client 的依赖,还有 Ribbon 的依赖,如:org.springframework.cloud:spring-cloud-netflix-eureka-client:1.3.1.RELEASE
org.springframework.cloud:spring-cloud-starter-ribbon:1.3.1.RELEASE
3. application.yml 配置
4.服务消费者应用启动类
@EnableDiscoveryClient 标志该应用作为 Eureka Client ,并会自动化读取 Eureka 相关配置。还有向服务注册中心发现服务并进行调用。
@LoadBalanced 标志着 RestTemplate 是通过 Ribbon 客户端负载均衡去调用服务提供者集群的。即可以在获取的服务提供者实例列表中,通过 Ribbon 进行选择某实例,然后调用该服务实例。
6.服务消费者 Hello World 案例 可以看到注入了 RestTemplate 对象,它是 HTTP 访问操作类。
然后 customer 方法,通过 restTemplate 通过 HTTP 协议调用服务提供者暴露的 provider 接口,并获取服务提供者的结果。然后组装输出。
四、小结
此小章节介绍了如何 Eureka 作为服务消费者,并向服务注册中心注册自己实例,更重要的是发现其他服务,并调用其他服务。