SpringCloud系列(三) 创建Euraka客户端
公众号
关注公众号和我一起学习哦!
创建客户端的目的只是 确保可以正确无误的连接上 注册中心
1. 创建一个新的模块 选择SpringBoot项目 名称为: spring-cloud-netflix-client
2. 添加 客户端需要的依赖
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>cn.yufire</groupId><artifactId>spring-cloud-netflix-client</artifactId><version>1.0.0-SNAPSHOT</version><name>spring-cloud-netflix-client</name><description>Eureka客户端</description><properties><java.version>1.8</java.version></properties><dependencies><!--添加SpringBoot的Web依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--添加 Eureka的客户端依赖 注意后边是 client--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency></dependencies><!--Spring Cloud 父级依赖--><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Hoxton.SR3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
主要添加了 Eureka客户端的依赖
3. 修改 application.yml配置文件
spring:application:name: eureka-client # 配置服务名称
eureka:instance:lease-renewal-interval-in-seconds: 1 # 每间隔1s,向服务端发送一次心跳,证明自己依然存活lease-expiration-duration-in-seconds: 2 # 告诉服务端,如果我2s之内没有给你发心跳,就代表我挂掉了,将我踢出掉。instance-id: ${spring.cloud.client.ip-address}:${server.port} # 配置当前服务在 注册中心中显示的 ip + 端口号client:service-url: # 可以在路径中配置用户名密码defaultZone: http://root:root@127.0.0.1:9988/eureka
server:port: 8181 # 客户端运行的端口
注意 spring.application.name 配置特别重要 不要写重复了
未来使用feign访问时 这个name作为访问的标识 因此特别重要
4. 开启Eureka客户端
package cn.yufire.spring.cloud.netflix.client;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@EnableEurekaClient // 开启Eureka客户端 注意是 client
@SpringBootApplication
public class SpringCloudNetflixClientApplication {public static void main(String[] args) {SpringApplication.run(SpringCloudNetflixClientApplication.class, args);}}
5. 启动项目
如果启动项目的时候遇到了 以下错误
请去注册中心项目中查看是否添加了 关闭CSRF校验的配置类 和是否配置了 账号密码
配置关闭CSRF 传送门 地址 配置账号密码 地址
2020-07-07 17:24:01.698 WARN 14980 --- [tbeatExecutor-0] c.n.d.s.t.d.RetryableEurekaHttpClient : Request execution failure with status code 401; retrying on another server if available
2020-07-07 17:24:01.698 ERROR 14980 --- [tbeatExecutor-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_EUREKA-CLIENT/192.168.42.30:8181 - was unable to send heartbeat!com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known serverat com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112) ~[eureka-client-1.9.17.jar:1.9.17]at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat(EurekaHttpClientDecorator.java:89) ~[eureka-client-1.9.17.jar:1.9.17]at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$3.execute(EurekaHttpClientDecorator.java:92) ~[eureka-client-1.9.17.jar:1.9.17]at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77) ~[eureka-client-1.9.17.jar:1.9.17]at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat(EurekaHttpClientDecorator.java:89) ~[eureka-client-1.9.17.jar:1.9.17]at com.netflix.discovery.DiscoveryClient.renew(DiscoveryClient.java:867) ~[eureka-client-1.9.17.jar:1.9.17]at com.netflix.discovery.DiscoveryClient$HeartbeatThread.run(DiscoveryClient.java:1436) [eureka-client-1.9.17.jar:1.9.17]at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_202]at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_202]at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_202]at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_202]at java.lang.Thread.run(Thread.java:748) [na:1.8.0_202]
6. 查看注册中心中是否已经注册了名称为 eureka-client
的服务
出现以下情况 即为注册客户端服务到注册中心成功 !
此时在Status中的状态
- UP: 标识该服务可以正常运行
- DOWN : 标识该服务已经出现了异常
特别注意
如果你配置了 关闭安全检查的话 可能不会出现 服务状态为DOWN 的情况
因为:关闭安全检查 Eureka会自动的把 异常 的服务从服务列表中进行移除
小结
启动类上的 @EnableEurekaClient
为启动Eureka的客户端 只可以连接 Eureka注册中心
也可也使用 @EnableDiscoveryClient
开启客户端服务
两者不可同时使用
SpringCloud系列(三) 创建Euraka客户端相关推荐
- VS 中配置使用Visual SVN系列 三:TortoiseSVN Client(客户端)下载和安装
VS 中配置使用Visual SVN系列 三:TortoiseSVN Client(客户端)下载和安装 1.TortoiseSVN Client(客户端)下载 https://www.visualsv ...
- 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面
原文:学习ASP.NET Core Razor 编程系列三--创建数据表及创建项目基本页面 学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 ...
- Office 365 系列三 ------ 创建Office 365普通账号
当我们购买或者试用Office 365的时候,微软或者世纪互联会发一封邮件给我们,里面就只有管理员的账号,那么作为我们IT 管理员应该给员工创建账号, 创建的过程如下: 一.登陆: http://po ...
- springcloud系列三 搭建服务模块
搭建服务模块为了模拟正式开发环境,只是少写了service层直接在controller里面直接引用,直接上图和代码:更为方便: 创建完成之后加入配置: pom.xml文件: <?xml vers ...
- [ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器
原文:[ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器 上一章 [ 搭建Redis本地服务器实践系列二 ] :图解CentOS7配置Redis 介绍了Red ...
- Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送
Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送, ...
- 2021-09-17 ROS2教程(三)-服务客户端创建(C++/Python)记录
ROS2教程(三)-服务客户端创建(C++/Python) 参考 C++版 1.0创建功能包(这里使用参数添加了依赖)C++版 1.1在cpp_srvcli/src下,创建add_two_ints_s ...
- Spring源码分析系列——bean创建过程分析(三)——工厂方法创建bean
前言 spring创建bean的方式 测试代码准备 createBeanInstance()方法分析 instantiateUsingFactoryMethod()方法分析 总结 spring创建be ...
- SpringCloud系列研究---Eureka服务消费Feign
转载自:https://www.cnblogs.com/chxuyuan/p/8358998.html SpringCloud系列研究---Eureka服务消费Feign 一.Feign简介 Feig ...
最新文章
- eclipse color theme 主题颜色
- 3层,5层,7层,9层网络性能比较-0-2
- Java:自定义异常处理类
- ADB Server 错误的解决办法
- C++:Static修饰变量 vs Static修饰函数
- VHDL中的转换函数
- oracle左裁剪原理,深入原理:分区剪裁特性剖析
- 前端:JS/25/DOM官方定义,DOM分类,HTML节点树(节点关系,节点类型,),核心DOM中公共的属性和方法(节点访问,查找DOM节点,节点属性,节点的创建,追加和删除)
- Spring : @Qualifier 注解
- 通过ODBC连接Oracle
- Java23个设计模式的简明教程
- 大数据时代,数据恢复技巧你会了吗?
- 最新个人主页源码最新非泛滥版本
- Excel VBA 函数返回值
- TensorFlow Keras 官方文档中文版文档学习
- CentOS7--安装谷歌浏览器--详细步骤
- JavaScript文档注释JSDoc注释
- 论文-《Conversational Recommender System》
- 什么相片可以两张弄成一张_ps怎么把两张图片合成一张
- iOS 如何获取手机外网IP地址(附内网IP地址)
热门文章
- HKC(红裤衩)5大亮点, 揭秘HKC(红裤衩)的大体框架
- JAVA版本农牧场游戏源码果园种植+养殖游戏 可对接流量主
- 麻将听牌的算法(java)
- Java基础3月15号-Java八种数据类型
- 富人和穷人的经典差异(转)
- 【YBT2023寒假Day13 B】马可波罗(博弈论)(数学)
- 【工具】最全的 postman 工具使用教程!收藏了
- Java中常见的IO模型
- iOS 苹果开发证书失效的解决方案(Failed to locate or generate matching signing assets)
- C#调试程序出现托管调试助手 DisconnectedContext、托管调试助手 ContextSwitchDeadlock错误的处理