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 服务,用于定位服务,以实现云端中间层服务发现和故障转移.服务注册与发现对于微服务架构来说是非常 ...
随机推荐
- 为Viewgourp内组件添加动画
package com.loaderman.customviewdemo; import android.animation.Keyframe; import android.animation.La ...
- 自定义控件之Region区域
构造Region 直接构造 public Region(Region region) //复制一个同样的Region变量 public Region(Rect r) public Region(int ...
- django模型多对多调用
对于如下的模型: from django.db import models # Create your models here. class Student(models.Model): name = ...
- 在过滤器中获取在web.xml配置的初始化参数
在过滤器中获取在web.xml配置的初始化参数 例如 <filter> <filter-name>cross-origin</filter-name> < ...
- jQuery BlockUI Plugin Demo 4(Element Blocking Examples)
Element Blocking Examples This page demonstrates how to block selected elements on the page rather t ...
- cursor -- 定义鼠标样式
cursor -- 定义鼠标样式 取值: [ [<uri> ,]* [ auto | crosshair | default | pointer | move | e-resize | n ...
- 【Leetcode_easy】744. Find Smallest Letter Greater Than Target
problem 744. Find Smallest Letter Greater Than Target 题意:一堆有序的字母,然后又给了一个target字母,让求字母数组中第一个大于target的 ...
- Python之汉诺塔递归运算
汉诺塔问题是一个经典的问题.汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大梵天命令婆 ...
- HTML(HTML+CSS基础)
HTML: 认识html文件基本结构 这一节中我们来学习html文件的结构:一个HTML文件是有自己固定的结构的. <html> <head>...</head> ...
- leetCode:twoSum 两数之和 【JAVA实现】
LeetCode 两数之和 给定一个整数数组,返回两个数字的索引,使它们相加到特定目标. 您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同的元素. 更多文章查看个人博客 个人博客地址:t ...