公众号

关注公众号和我一起学习哦!


创建客户端的目的只是 确保可以正确无误的连接上 注册中心

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客户端相关推荐

  1. VS 中配置使用Visual SVN系列 三:TortoiseSVN Client(客户端)下载和安装

    VS 中配置使用Visual SVN系列 三:TortoiseSVN Client(客户端)下载和安装 1.TortoiseSVN Client(客户端)下载 https://www.visualsv ...

  2. 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面

    原文:学习ASP.NET Core Razor 编程系列三--创建数据表及创建项目基本页面 学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 ...

  3. Office 365 系列三 ------ 创建Office 365普通账号

    当我们购买或者试用Office 365的时候,微软或者世纪互联会发一封邮件给我们,里面就只有管理员的账号,那么作为我们IT 管理员应该给员工创建账号, 创建的过程如下: 一.登陆: http://po ...

  4. springcloud系列三 搭建服务模块

    搭建服务模块为了模拟正式开发环境,只是少写了service层直接在controller里面直接引用,直接上图和代码:更为方便: 创建完成之后加入配置: pom.xml文件: <?xml vers ...

  5. [ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器

    原文:[ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器 上一章 [ 搭建Redis本地服务器实践系列二 ] :图解CentOS7配置Redis  介绍了Red ...

  6. Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

    Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送, ...

  7. 2021-09-17 ROS2教程(三)-服务客户端创建(C++/Python)记录

    ROS2教程(三)-服务客户端创建(C++/Python) 参考 C++版 1.0创建功能包(这里使用参数添加了依赖)C++版 1.1在cpp_srvcli/src下,创建add_two_ints_s ...

  8. Spring源码分析系列——bean创建过程分析(三)——工厂方法创建bean

    前言 spring创建bean的方式 测试代码准备 createBeanInstance()方法分析 instantiateUsingFactoryMethod()方法分析 总结 spring创建be ...

  9. SpringCloud系列研究---Eureka服务消费Feign

    转载自:https://www.cnblogs.com/chxuyuan/p/8358998.html SpringCloud系列研究---Eureka服务消费Feign 一.Feign简介 Feig ...

最新文章

  1. eclipse color theme 主题颜色
  2. 3层,5层,7层,9层网络性能比较-0-2
  3. Java:自定义异常处理类
  4. ADB Server 错误的解决办法
  5. C++:Static修饰变量 vs Static修饰函数
  6. VHDL中的转换函数
  7. oracle左裁剪原理,深入原理:分区剪裁特性剖析
  8. 前端:JS/25/DOM官方定义,DOM分类,HTML节点树(节点关系,节点类型,),核心DOM中公共的属性和方法(节点访问,查找DOM节点,节点属性,节点的创建,追加和删除)
  9. Spring : @Qualifier 注解
  10. 通过ODBC连接Oracle
  11. Java23个设计模式的简明教程
  12. 大数据时代,数据恢复技巧你会了吗?
  13. 最新个人主页源码最新非泛滥版本
  14. Excel VBA 函数返回值
  15. TensorFlow Keras 官方文档中文版文档学习
  16. CentOS7--安装谷歌浏览器--详细步骤
  17. JavaScript文档注释JSDoc注释
  18. 论文-《Conversational Recommender System》
  19. 什么相片可以两张弄成一张_ps怎么把两张图片合成一张
  20. iOS 如何获取手机外网IP地址(附内网IP地址)

热门文章

  1. HKC(红裤衩)5大亮点, 揭秘HKC(红裤衩)的大体框架
  2. JAVA版本农牧场游戏源码果园种植+养殖游戏 可对接流量主
  3. 麻将听牌的算法(java)
  4. Java基础3月15号-Java八种数据类型
  5. 富人和穷人的经典差异(转)
  6. 【YBT2023寒假Day13 B】马可波罗(博弈论)(数学)
  7. 【工具】最全的 postman 工具使用教程!收藏了
  8. Java中常见的IO模型
  9. iOS 苹果开发证书失效的解决方案(Failed to locate or generate matching signing assets)
  10. C#调试程序出现托管调试助手 DisconnectedContext、托管调试助手 ContextSwitchDeadlock错误的处理