Eureka服务注册于发现之Client搭建
Eureka在Server端的搭建已经有很多介绍的文章,同时也是学习Eureka的第一步。
搭建好注册中心后怎么进行服务注册和服务调用,是我们要讲的主要内容。
开发环境:IDEA2018.3+SpringBoot2.1.7Release+Eureka2.1.3+SpringCloud Greenwich.SR3
第一步:
Pom引入Eureka包
<!--eureka-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
同时需要引入 spring-cloud-dependencies,来管理SpringCloud全家桶组件
<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>
</dependencies>
</dependencyManagement>
关键点在于spring-cloud引用的版本,需要查一下自己springboot版本选择对应的spring-cloud.version
| SpringCloud | SpringBoot |
| Angel版本 | 兼容Spring Boot 1.2.x |
| Brixton版本 | 兼容Spring Boot 1.3.x,也兼容Spring Boot 1.4.x |
| Camden版本 | 兼容Spring Boot 1.4.x,也兼容Spring Boot 1.5.x |
| Dalston版本、Edgware版本 | 兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x |
| Finchley版本 | 兼容Spring Boot 2.0.x,不兼容Spring Boot 1.5.x |
| Greenwich版本 | 兼容Spring Boot 2.1.x |
当然对于不熟悉的同学来说,看完这个依旧不知道自己该如何正确选择小版本。
这一交给大家一个最容易的方法
打开 Spring Initializr选择自己的Spring版本
在Dependencies部分输入Eureka,找到Eureka Discovery Client,这里会根据我们选择的组件生成项目模板。

然后下载为我们创建的项目模板,找到POM.XML查看这里的引用版本,是不是又快捷,又准确。
我这里当然用到的版本是:
<spring-cloud.version>Greenwich.SR3</spring-cloud.version>
第二步:
添加yml配置Eureka
spring:
application:
name: crmapi
#eureka配置
eureka:
client:
fetch-registry: true
register-with-eureka: true
serviceUrl:
defaultZone: http://127.0.0.11:8020/eureka/,http://127.0.0.1:8021/eureka/,http://127.0.0.1:8022/eureka/
instance:
instance-id: ${spring.application.name}
prefer-ip-address: true
ip-address: 127.0.01
eureka.client.serviceUrl.defaultZone配置注册中心地址 ureka.client.fetch-registry,是否启用获取服务注册信息,默认true ureka.client.fetch-registry.register-with-eureka,是否注册eureka,默认true
instance.prefer-ip-address=true
默认false服务的Status将会采用“主机名:程序名(application.name属性):端口号”
修改为true后,可以通过配置instance-id,来限定服务Status为制定instance-id,则实际访问时会访问对应的接口“服务器IP:端口号”
以上两种方法可以按实际需求去配置。
第三步
注册服务
找到程序入口添加@EnableEurekaClient注解
@EnableEurekaClient
@EnableSwagger2
@SpringBootApplication
@MapperScan
public class xxxapiApplication { public static void main(String[] args) {
SpringApplication.run(xxxapiApplication.class, args);
}
在程序运行时便会按照之前的配置将当前服务注册到注册中心

到这里,就可以完成服务中心注册,后面两步是调用时用使用,当然调用前也是同样要引用Eureka包,按第一步操作即可。
如果当前服务既是服务提供者又是服务调用者,就可以直接配置第四、第五步进行远程调用别的服务。
第四步
配置调用
我们可以建一个Bean配置EurekaConfig.class
@Configuration
public class EurekaConfig {
@LoadBalanced
@Bean
RestTemplate restTemplate() {
return new RestTemplate();
}
}
第五步
Controller调用
@Autowired
private RestTemplate restTemplate; public List<MemberLevelVO> GetMemberLevel(String im) { String im = restTemplate.getForObject("http://servername/getmemberlevel?im="+im,String.class)
}
后传:
调用时注意的问题,如果直接 new RestTemplate()去调用,服务端执行是不会调用我们前面调用的额IP形式,依然会调用主机名:端口号,是因为再资源注入是一定要有@LoadBalanced注解出现才行
如果需要手动删除Eureka服务,可以使用PostMan执行DELETE操作既可删除已有服务
删除链接:http://127.0.0.1:8020/eureka/apps/crmapi(服务名Application)/bi:crmapi:8028(注册名)
删除操作

Eureka服务注册于发现之Client搭建的更多相关文章
- SpringCloud(3)---Eureka服务注册与发现
Eureka服务注册与发现 一.Eureka概述 1.Eureka特点 (1) Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移. (2) Eureka 主管服务 ...
- Eureka服务注册与发现
一.服务注册 注册Eureka的服务非常的简单,只需要引入spring-cloud-starter-netflix-eureka-client的jar包即可. <dependency> & ...
- SpringCloud的入门学习之概念理解、Eureka服务注册与发现入门
1.微服务与微服务架构.微服务概念如下所示: 答:微服务强调的是服务的大小,它关注的是某一个点,是具体解决某一个问题.提供落地对应服务的一个服务应用,狭意的看,可以看作Eclipse里面的一个个微服务 ...
- Spring Cloud之Eureka服务注册与发现
解决什么问题 ➟阐述微服务以及服务注册发现的部分概念 ➟阐述Eureka服务注册与发现的部分原理及细节 为什么需要服务中心 过去,每个应用都是一个CPU,一个主机上的单一系统.然而今天,随着大数据和云 ...
- SpringCloud 进阶之Eureka(服务注册和发现)
1. Eureka 服务注册与发现 Eureka 是一个基于REST的服务,用于服务的的注册与发现; Eureka采用C-S的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册 ...
- Spring Cloud学习(一):Eureka服务注册与发现
1.Eureka是什么 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的. Eureka ...
- SpringCloud Eureka服务注册及发现——服务端/客户端/消费者搭建
Eureka 是 Netflix 出品的用于实现服务注册和发现的工具. Spring Cloud 集成了 Eureka,并提供了开箱即用的支持.其中, Eureka 又可细分为 Eureka Serv ...
- Spring Cloud 入门教程 - Eureka服务注册与发现
简介 在微服务中,服务注册与发现对管理各个微服务子系统起着关键作用.随着系统水平扩展的越来越多,系统拆分为微服务的数量也会相应增加,那么管理和获取这些微服务的URL就会变得十分棘手,如果我们每新加一个 ...
- 【三】Eureka服务注册与发现
1.是什么 Eureka是Netflix的一个子模块,也是核心模块之一.Eureka是一个基于 REST 服务,用于定位服务,以实现云端中间层服务发现和故障转移.服务注册与发现对于微服务架构来说是非常 ...
随机推荐
- [Java复习] 分布式PRC - Dubbo
分布式RPC框架 dubbo常见问题: 1. 问dubbo的工作原理:服务注册,注册中心,服务生产者,消费者,代理通信,负载均衡 2. 问网络通信,序列化: dubbo协议,长连接,NIO,hessi ...
- 39 Flutter仿京东商城项目 收货地址列表、增加 修改收货地址布局、弹出省市区选择器
加群452892873 下载对应39课文件,运行方法,建好项目,直接替换lib目录 pubspec.yaml city_pickers: ^ AddressAdd.dart import 'packa ...
- java如何压缩多个文件到压缩包,并下载到浏览器?
java压缩多个文件到压缩包,并下载到浏览器 解决方法: 完整的方法如下,很简单,亲试有效,极力推荐. 我是以流作为文件,而不是file,循环把所有pdf文件压缩到pdf.zip压缩包中. 1.前 ...
- 【424】C语言二级指针
参考:C 指向指针的指针 指向指针的指针是一种多级间接寻址的形式,或者说是一个指针链.通常,一个指针包含一个变量的地址.当我们定义一个指向指针的指针时,第一个指针包含了第二个指针的地址,第二个指针指向 ...
- (三)表单与servlet的初步结合
一.form表单基本使用 <form>标签可创建一个表单,属性如下: <form>标签子标签可以有如下: <input> : 用于搜集用户信息. <input ...
- FCKEDITOR在.NET中的使用
FCKEDITOR在.NET中的使用 FCKeditor介绍 FCKeditor是一个功能强大支持所见即所得功能的文本编辑器,可以为用户提供微软office软件一样的在线文档编辑服务.它不需要安装任何 ...
- Struts 2 --ONGL介绍
先了解一下OGNL的概念 OGNL的全名称Object Graph Navigation Language.全称为对象图导航语言,是一种表达式语言.使用这种表达式语言,你可以通过某种表达式语法,存取J ...
- 【ARTS】01_39_左耳听风-201900805~20190811
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 100道iOS面试题
面试题: 1__weak什么时候用 想要在block内部变外部变量需要加__weak或者__block 2.是否使用过coreImage和coreText?如果使用过,说说你的体验(答案在另一份) 3 ...
- 转 Linux平台卸载MySQL总结
如何在Linux下卸载MySQL数据库呢? 下面总结.整理了一下Linux平台下卸载MySQL的方法. MySQL的安装主要有三种方式:二进制包安装(Using Generic Binaries).R ...