Spring Cloud的基本应用

        上篇文章我们的eureka的集群已经搭建完毕,但是我们还没有开始使用,之前我们的page访问的方法是直接写死的,现在我们就可以改为集群的方式来写

        @Autowired//注册中心对应的客户端对象private DiscoveryClient discoveryClient;@RequestMapping("query/{id}")public Products findById(@PathVariable Integer id){//获取Eureka中注册的leq-service-product实例集合List<ServiceInstance> services = discoveryClient.getInstances("leq-service-product");//获取实例集合中的第一个对象(IP,PORT,NAME)ServiceInstance service = services.get(0);//获取ip和端口String host = service.getHost();int port = service.getPort();String url="http://"+host+":"+port+"/product/findById/"+id;System.out.println(url);return restTemplate.getForObject(url,Products.class);}

        这里注意DiscoveryClient的导包

import org.springframework.cloud.client.discovery.DiscoveryClient;

        写完后重启我们的page项目,重启后访问我们的查询接口,还是正在使用的 

 

 Eureka元数据详解

                标准元数据:主机名,IP地址,端口号
                自定义元数据:可以使用eureka.instance.metadata-map配置,符合key:value存储格式

        1.在生产项目中修改核心配置文件

#自定义元数据
eureka.instance.metadata-map.username: xm
eureka.instance.metadata-map.password: 123456
eureka.instance.metadata-map.telphone: 186666666

        2.在page的控制层编写获取的方法并调用

  //获取Eureka自定义的元数据信息public void getMetaDataMap(List<ServiceInstance> serviceInstances){for (ServiceInstance serviceInstance : serviceInstances) {Map<String, String> metadata = serviceInstance.getMetadata();Set<String> keys = metadata.keySet();for (String key : keys) {String value = metadata.get(key);System.out.println("key:"+key+",value:"+value);}}}

        3.重启这两个项目,重新访问查询的接口,可以看到元数据信息,有的时候会全部打印,有的时候只会打印端口号

http://localhost:9100/page/query/1

        4.客户端

        我们也可以在核心配置文件中定义一些配置,当然我配置的这些都是默认的,如果需要可以自己进行更改,默认的是最合适的

#向Eureka服务中心集群注册服务
#租约续约时间间隔,默认为30秒,每隔30秒向注册中心汇报心跳
eureka.instance.lease-renewal-interval-in-seconds=30
#没有心跳后等待90秒,超过90秒了Eureka Server会将服务从列表移除
eureka.instance.lease-expiration-duration-in-seconds=90#向Eureka服务中心集群服务
#每隔30秒拉取一次服务列表
eureka.client.registry-fetch-interval-seconds=30

        5.服务端

                服务下线:当服务正常关闭时,会发送服务下线的Resu请求给Eureka_server,服务中心接收到请求后,将该服务置为下线状态

                失效剔除:定时进行检查,发现实例在一定时间内没有收到心跳,则会注销此实例

                自我保护机制:使Eureka集群更加的健壮,稳定的运行
                 在15分钟内超过85%的客户端节点都没有正常的心跳,那么Eureka就认为客户端与注册中心出现了网络故障,Eureka Server自动进入自我保护机制

                但我们访问服务中心的时候报错是因为自我保护机制,等一会重新刷新就会消息
                    1).Eureka Server不再从注册列表中移除,因为长时间没收到心跳而应该过期的服务。
                    2).Eureka Server仍然能够接受新服务的注册和查询请求,但是不会被同步到其它节点上,保证当前节点依然可用。
                    3).当网络稳定时,当前Eureka Server新的注册信息会被同步到其它节点中。

 

        也可以核心配置文件中关闭自我保护机制,但是不建议

#关闭自我保护机制(不建议关闭)
#eureka.server.enable-self-preservation=false

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/17957.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[MMDetection]测试模型

以下是基于MMdetection3.10版本 1、简单测试模型 测试模型一般使用tools中的test.py&#xff0c;一般使用方式 python tools/test.py config文件路径 权重文件路径 可以通过--show 来以gui展示检测结果 python tools/test.py config文件路径 权重文件路径 --show 可以通过--s…

Jstat命令解析

Jstat命令解析 Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”&#xff0c;它位于java的bin目录下&#xff0c;主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控&#xff0c;包括了对Heap size和垃圾回收…

数据库之MySQL字符集与数据库操作

目录 字符集 CHRARCTER SET 与COLLATION的关联 CHRARCTER SET 定义 基础操作 查看当前MySQL Server支持的 CHARACTER SET 查看特定字符集信息&#xff08;主要包含默认的COLLATION 与 MAXLEN&#xff09; COLLATION 定义 COLLATION后缀 基础操作 查看MySQL Server支持的…

ChatGPT助力校招----面试问题分享(十一)

1 ChatGPT每日一题&#xff1a;PCB布线&#xff0c;高速信号线走直角的后果 问题&#xff1a;PCB布线&#xff0c;高速信号线走直角的后果 ChatGPT&#xff1a;对于高速信号线来说&#xff0c;最好避免使用直角布线。直角布线会引入反射和信号损耗&#xff0c;从而导致信号完…

如何监测电路中恶性负载

随着社会的发展和科技的进步&#xff0c;人们对于用电的安全性和稳定性要求越来越高。电路中的恶性负载往往会导致电路故障&#xff0c;甚至引发火灾等严重事故。因此&#xff0c;如何监测电路中的恶性负载成为了一个重要的课题。本文将从恶性负载的定义、监测方法、防范措施等…

Qt窗体全屏与复原,子窗体全屏与复原

QT QWidget窗体全屏时&#xff0c;全屏与最大化的区别时最大化有标题框全屏没有框&#xff0c;可以使用自带的函数&#xff1a; showFullScreen(); 复原时也有专门的函数&#xff1a; showNormal(); 如果我想在点击最大化按钮时&#xff0c;让窗体全屏。这个时候最好有线程…

Latex:画图识别符号

http://detexify.kirelabs.org/classify.html

企业金蝶云星空服务器数据库中了locked勒索病毒如何应对

近日&#xff0c;很多企业的金蝶云星空财务账套被locked勒索病毒攻击&#xff0c;财务系统内的许多重要数据被加密&#xff0c;无法正常打开&#xff0c;计算机内的所有文件的扩展名全部都变成了.locked后缀勒索病毒&#xff0c;导致服务器数据库被锁定。这种情况的出现与企业的…

全面了解JavaScirpt 的垃圾(garbage collection)回收机制

全面了解JavaScirpt 的垃圾(garbage collection)回收机制 一、垃圾回收机制—GC javascript具有自动垃圾回收机制(GC:Garbage Collecation)&#xff0c;也就是说&#xff0c;执行环境会负责管理代码执行过程中使用的内存。 原理&#xff1a;垃圾收集器会定期&#xff08;周期性…

多元分类预测 | Matlab基于深度置信网络DBN的分类预测,多特征输入模型,DBN分类预测

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述

spring boot+MySQL实现班级综合测评管理系统

随着电子技术的普及和快速发展&#xff0c;线上管理系统被广泛的使用&#xff0c;有很多事业单位和商业机构都在实现电子信息化管理&#xff0c;班级综合测评管理也不例外&#xff0c;由比较传统的人工管理转向了电子化、信息化、系统化的管理。 传统的班级综合测评管理系统&am…

HTML5 WebSocket介绍与基本使用(解析服务端返回的二进制数据)

WebSocket基本介绍 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 WebSocket 使得客户端和服务器之间的数据交换变得更加简单&#xff0c;允许服务端主动向客户端推送数据。在 WebSocket API 中&#xff0c;浏览器和服务器只需要完成一次握手&a…