SpringCloud2.0 Feign 服务发现 基础教程(五)
1、启动【服务中心】集群,即 Eureka Server
2、启动【服务提供者】集群,即 Eureka Client
3、创建【服务消费者】,即 Eureka Discovery Client
3.1、新建 Spring Boot 工程,工程名称 springcloud-eureka-feign
3.2、工程pom.xml文件添加如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
3.3、在工程启动类中,添加注解 @EnableDiscoveryClient,@EnableFeignClients
package com.miniooc.eurekafeign; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients; /**
* EurekaFeignApplication
* 应用程序启动类,程序入口
*
* @author 宋陆
* @version 1.0.0
*/
@EnableDiscoveryClient // 启用 Eureka 服务发现
@EnableFeignClients // 启用 Feign
@SpringBootApplication
public class EurekaFeignApplication { public static void main(String[] args) {
SpringApplication.run(EurekaFeignApplication.class, args);
} }
3.4、创建【服务消费者】服务类 EurekaFeignService
package com.miniooc.eurekafeign.service; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestMapping; /**
* EurekaFeignService
* 服务消费者,调用服务提供者提供的服务,实现业务
*
* @author 宋陆
* @version 1.0.0
*/
@FeignClient(value = "eureka-client") // 调用的服务的名称
public interface EurekaFeignService { @RequestMapping(value = "/info")
String getInfo(); }
3.5、创建【服务消费者】控制器类 EurekaFeignController
package com.miniooc.eurekafeign.controller; import com.miniooc.eurekafeign.service.EurekaFeignService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; /**
* EurekaFeignController
* 服务消费控制器类,对用户提供服务
*
* @author 宋陆
* @version 1.0.0
*/
@RestController
public class EurekaFeignController { @Resource
private EurekaFeignService eurekaFeignService; @RequestMapping("/feignInfo")
public String feignInfo() {
String message = eurekaFeignService.getInfo();
return "获取到的信息:" + message;
} }
3.6、创建工程配置文件application.yml,添加如下配置:
server:
port: 52620 spring:
application:
name: eureka-discovery-feign eureka:
instance:
hostname: localhost
# 表示eureka client间隔多久去拉取服务注册信息,默认为30秒,如果要迅速获取服务注册状态,可以缩小该值
lease-renewal-interval-in-seconds: 5
# 表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance。
# 默认为90秒
# 如果该值太大,则很可能将流量转发过去的时候,该instance已经不存活了。
# 如果该值设置太小了,则instance则很可能因为临时的网络抖动而被摘除掉。
# 该值至少应该大于 leaseRenewalIntervalInSeconds
lease-expiration-duration-in-seconds: 10
client:
serviceUrl:
defaultZone: http://localhost:9527/eureka/,http://localhost:9528/eureka/,http://localhost:9529/eureka/
3.7、启动【服务消费者】工程
3.8、打开浏览器,访问【服务中心】前台界面 http://localhost:9527,http://localhost:9528,http://localhost:9529

红框处,可以看到服务消费实例已经注册到了服务注册中心,服务名 EUREKA-DISCOVERY-FEIGN
3.9、开浏览器窗口,访问 http://localhost:52620/feignInfo,多次刷新该地址



红框处,可以看到【服务消费者】成功调用了【服务提供者】提供的服务,并实现了负载均衡,轮询请求不同的【服务提供者】。
至此,一个简单的单点【服务消费者】搭建完成。
SpringCloud2.0 Feign 服务发现 基础教程(五)的更多相关文章
- SpringCloud2.0 Ribbon 服务发现 基础教程(四)
1.启动[服务中心]集群,即 Eureka Server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集群,即 Eureka Cli ...
- SpringCloud2.0 Zuul 网关路由 基础教程(十)
1.启动基础工程 1.1.启动[服务注册中心],工程名称:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) ...
- SpringCloud2.0 Eureka Server 服务中心 基础教程(二)
1.创建[服务中心],即 Eureka Server 1.1.新建 Spring Boot 工程,工程名称: springcloud-eureka-server 1.2.工程 pom.xml 文件添加 ...
- SpringCloud2.0 Hystrix Feign 基于Feign实现断路器 基础教程(七)
1.启动[服务中心]集群,工程名:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集 ...
- spring cloud 2.x版本 Feign服务发现教程(内含集成Hystrix熔断机制)
前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前两篇文章eureka-server和eureka-client的实现. 参考 ...
- SpringCloud2.0 Eureka Client 服务注册 基础教程(三)
1.创建[服务提供者],即 Eureka Client 1.1.新建 Spring Boot 工程,工程名称:springcloud-eureka-client 1.2.工程 pom.xml 文件添加 ...
- SpringCloud之Eureka 服务注册和服务发现基础篇2
上篇文章讲解了SpringCloud组件和概念介绍,接下来讲解一下SpringCloud组件相关组件使用.原理和每个组件的作用的,它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix ...
- 【微服务架构】SpringCloud之Eureka(服务注册和服务发现基础篇)(二)
上篇文章讲解了SpringCloud组件和概念介绍,接下来讲解一下SpringCloud组件相关组件使用.原理和每个组件的作用的,它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix ...
- SpringCloud之Eureka(服务注册和服务发现基础篇)(二)
一:Eureka简介 Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一.用于云端服务发现,一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移. ...
随机推荐
- 根据 oracle 标准计算超长字符串的长度
Oracle 数据库使用 sql语句 : select lengthb('输入字符串') from dual , 来计算 字符串 所占的字节长度(比如,一个汉字3个字节),但是用这个leng ...
- Java 并发系列之三:java 内存模型(JMM)
1. 并发编程的挑战 2. 并发编程需要解决的两大问题 3. 线程通信机制 4. 内存模型 5. volatile 6. synchronized 7. CAS 8. 锁的内存语义 9. DCL 双重 ...
- 透彻的掌握 Spring 中@transactional 的使用
事务管理是应用系统开发中必不可少的一部分.Spring 为事务管理提供了丰富的功能支持.Spring 事务管理分为编码式和声明式的两种方式.编程式事务指的是通过编码方式实现事务:声明式事务基于 AOP ...
- 修改mysql存储过程或函数的定义着
以root用户登录mysql控制台 (1)首先查询 mysql> select definer from mysql.proc; (2)然后根据条件进行更新 update mysql.proc ...
- rpm续
一.安装源码包 安装源码包通常须要一下三步: (1) ./configure. 这步可以定制功能,加上相应 的选项即可,具体有什么选项可以通过命令./configure help来查看.这一步会 自动 ...
- 公司某台电脑连接服务器共享文件失败(Windows找不到"\\192.168.1.3)
电脑键入“\\192.168.1.3”后报错“Windows找不到"\\192.168.1.3".请检查拼写并重试.” 我做了两步: 1.检查网络发现是否开启: 控制面板---&g ...
- java8新特性七-Date Time API
Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与时间的处理. 在旧版的 Java 中,日期时间 API 存在诸多问题,其中有: 非线程安全 − java.ut ...
- C/C++ 指针常量和常量指针
为了区分是指向常量的指针还是const指针(表示指针本身是常量) 一个简便方法:从由往左读,遇到p就替换为“p is a”,遇到*就替换为“point to”,其余不变. const int * p ...
- shell-快速入门_批处理脚本编程语言
1. Shell概述 1.1. Shell是什么 Shell是一门批处理脚本编程语言. 批处理是什么? 操作系统都分为(GUI)图形界面,命令界面(command). 命令操作的可以不用一一条执行.可 ...
- MIME类型对应表:
MIME类型对应表: 常用MIME类型: 扩展名 MIME类型 .iso ISO File .rar application/x-rar-compressed .zip application/zip ...