springCloud Eureka 注册中心原理及配置理解(一)

Eureka 原理与步骤
原理:
    服务提供方启动后将注册到 注册中心,提供IP, 名字,什么服务等信息,
服务调用方作为客户端注册到注册中心后,拉取注册中心的服务列表,在通过负载均衡调用对应的服务提供方。
注册中心可以建立集群,生成多台eureka,注册中心为了监测各个服务的心跳,将在每30S 向所注册的服务发起请求判断
服务是否挂掉,如果挂掉90S后将会将服务从注册中心剔除。
一个服务可以监测多台服务实例,从而可实现均衡负载。
配置步骤:  注意 以下的客户端说的是作为注册到注册中心的微服务,他相对于注册中心就是客户端,注册中心就是服务端
 一、加依赖 以下指POM文件

   <!--注册中心:--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><!--客户端:--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>
二、加注解 以下在启动器上加注解
注册中心 : @EnableEurekaServer  
服务提供客户端方:@EnableDiscoveryClient   此注解支持多种服务中心,如eureka,zk,等等,所以一般使用这个。
@EnableEurekaClient 只支持eureka所以用上一种
三、加配置 以下指application.yml配置文件
#注册中心:
server:port: 10086
spring:application:name: eureka-server
eureka:client:register-with-eureka: false # 是否注册自己的信息到EurekaServer,默认是truefetch-registry: false # 是否拉取其它服务的信息,默认是trueservice-url:defaultZone: http://127.0.0.1:10086/eureka,http://127.0.0.1:10087/eureka#注册到当前地址中,实现eureka 集群后面描述instance:lease-renewal-interval-in-seconds: 30 #每30S给其他服务发次请求,监测心跳lease-expiration-duration-in-seconds: 90 #如果其他服务没心跳,90S后剔除该服务
#客户端:
server:port: 8081
spring:application:name: user-server
eureka:client:service-url:defaultZone: http://127.0.0.1:10086/eurekaregistry-fetch-interval-seconds: 50 #客户端拉取注册中心的服务列表
关于Eureka 高可用的配置及讲解:
为了使eureka高可用,挂掉后依然可以使用所以将配置多台eureka注册中心实现集群。
实现原理:如果需配置3台注册中心,那么应该是A注册到B、C ,B注册到C、A  C注册到A,B
这样互相注册即可实现集群配置。也就是上图配置的多台地址
eureka:client:service-url:defaultZone: http://127.0.0.1:10086/eureka,http://127.0.0.1:10087/eurekaregistry-fetch-interval-seconds: 50 #客户端拉取注册中心的服务列表
关于Eureka 的自我保护机制与剔除服务机制:
剔除服务机制:当服务提供方(客户端)注册到Eureka后,每30S将会向Eureka发起一次请求表示自己有心跳
服务器正常,当90S都没有发请求时候Eureka会认为服务器宕机了,则会在60S后统一清除所有宕机的服务器。
自我保护机制:当服务没有按每30S按时发请求时,Eureka将会统计15分钟内心跳的请求成功概率,如果低于85%
则可能服务提供方有延迟问题或者网络故障,这样会将服务提供方保护起来不会剔除。
eureka:
    server:
        enable-self-preservation: false # 关闭自我保护模式(缺省为打开)
        eviction-interval-timer-in-ms: 1000 # 扫描失效服务的间隔时间(缺省为60*1000ms)
https://files.cnblogs.com/files/lanSeGeDiao/springCloud-demo.zip 
以上是springCloud的DEMO例子 请自行复制路径到浏览器

转载于:https://www.cnblogs.com/lanSeGeDiao/p/10801804.html

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

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

相关文章

react系列教程

这个系列将从基础语法讲起&#xff0c;把react全家桶都讲到&#xff0c;然后到具体的使用&#xff0c;最后完成后&#xff0c;会写一个完整的demo。 前置要求&#xff1a; 基本的CSS&#xff0c;JS要熟练。 部分ES6语法需要了解。可以参考下面提到的阮一峰老师的《ECMAScript …

解决DataGridView绑定List后不能排序的问题

阅读全文并下载例子 &#xff1a;http://www.sufeinet.com/forum.php?modviewthread&tid190 以前不都是用table直接绑定DataGridView的&#xff0c;没有出现过不能排序的问题&#xff0c;初试List结果发现不管怎么样都不能实现排序的功能&#xff0c;有朋友说 DataGridVie…

maven编译的时候排除junit测试类

maven编译的时候排除junit测试类 maven项目中使用junit进行单元测试&#xff0c;在进行编译的时候&#xff0c;可以通过2种方式排除test测试类的编译。 有2种方式 &#xff1a; 使用命令的时候带上参数 mvn install -Dmaven.test.skiptrue 在pom.xml里面配置<plugins><…

生成器设计模式的应用

嗨&#xff0c;您好&#xff01; 今天&#xff0c;我将分享我制作的全新设计模式系列的第一个。 构建器设计模式是开发严肃的应用程序时非常有用且通用的模式。 在这篇文章中&#xff0c;我将提供一个很小的构建器模式框架&#xff0c;因此您随时可以回到这里并使用它。 助记…

知识整理2019清北学堂提高储备D5

今天主讲图论。 前言&#xff1a;图的定义&#xff1a;图G是一个有序二元组(V,E)&#xff0c;其中V称为顶集(Vertices Set)&#xff0c;E称为边集(Edges set)&#xff0c;E与V不相交。它们亦可写成V(G)和E(G)。 一、图的存储&#xff1a; 1、邻接矩阵&#xff1a; 2、邻接表&am…

IIFE(立即执行函数表达式)

我们经常会看到这样的写法&#xff1a; ;(fuction () {// do something })() 这就是一个简单的IIFE&#xff08;立即执行函数表达式&#xff0c;immediately-invoked function expression&#xff09;了。 这样的写法有什么好处呢&#xff1f;来简单分析一下。 1. 开头的分…

中文(英译) 爱情一句话哲理

⊙ 宁可失败在你喜欢的事情上&#xff0c;也不要成功在你所憎恶的事情上。 To lost in something you love is better than to win in something you hate.   ⊙ 幸福&#xff0c;不是长生不老&#xff0c;不是大鱼大肉&#xff0c;不是权倾朝野。幸福是每一个微小的生活愿望…

CSS之文字溢出处理

1.单行文本之三剑客<p>刘诗诗&#xff0c;原名刘诗施&#xff0c;1987年3月10日出生于北京市&#xff0c;中国内地影视女演员、影视出品人。</p>p{border: 1px solid red;width: 400px;height: 40px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis…

JavaFX技巧5:可观察

即使在整个NSA监视的这段时间&#xff0c;实现JavaFX控件时也要牢记可观察性&#xff0c;这仍然是一个好主意。 与Swing相比&#xff0c;这在JavaFX中很容易实现。 旧时光 来自Swing&#xff0c;我习惯于花费大量精力和时间来使自定义控件变得可观察。 通常需要添加方法来添加…

this到底指向哪里

this指向调用它的对象 首先要明确&#xff0c;this指向调用方&#xff0c;谁调用&#xff0c;this指向谁。 直接调用 举个栗子&#xff1a; var test window ; function testThis () {var test inner;this.test test change;console.log(this.test) } testThis(); // te…

GA,RC,Alpha,Beta,Final等软件版本名词释义

对应上图的表格如下&#xff1a; 名词&#xff01;说明Alphaα是希腊字母的第一个&#xff0c;表示最早的版本&#xff0c;内部测试版&#xff0c;一般不向外部发布&#xff0c;bug会比较多&#xff0c;功能也不全&#xff0c;一般只有测试人员使用。Betaβ是希腊字母的第二个&…

HawtIO在JBoss EAP上(第二部分)

我刚刚发布了一篇关于在JBoss Wildfly 8.1上运行HawtIO的条目 。 从那篇文章中&#xff0c;您将了解HawtIO多么出色 &#xff0c;以及它必须具备的所有 出色 插件&#xff0c;才能从单个仪表板管理基于JVM的技术……好吧…… hawt ……。 但是&#xff0c;出于上一篇文章中概述…

Linux命令行中执行多个命令

[rootlocalhost /]# date;date;date 2019年 05月 03日 星期五 09:08:37 CST 2019年 05月 03日 星期五 09:08:37 CST 2019年 05月 03日 星期五 09:08:37 CST [rootlocalhost /]# date&& data&&date 2019年 05月 03日 星期五 09:09:03 CST -bash: data: 未找到命…

JS设计模式(13)状态模式

什么是状态模式&#xff1f; 定义&#xff1a;将事物内部的每个状态分别封装成类&#xff0c;内部状态改变会产生不同行为。 主要解决&#xff1a;对象的行为依赖于它的状态&#xff08;属性&#xff09;&#xff0c;并且可以根据它的状态改变而改变它的相关行为。 何时使用…

Save info in Hidden Field

Hidden fields are used to store data at the page level protected System.Web.UI.HtmlControls.HtmlInputHidden Hidden1; //to assign a value to Hidden field Hidden1.Value"Create hidden fields"; //to retrieve a value string strHidden1.Value; 转载于:ht…

课堂测试

package 测试;import java.util.Scanner;class ScoreInformation {private String stunumber;private String name;private double mathematicsscore;private double englishiscore;private double networkscore;private double databasescore;private double softwarescore;…

Mule ESB,ActiveMQ和DLQ

在本文中&#xff0c;我将展示一个简单的Mule ESB流程&#xff0c;以了解实际中使用的Active MQ 的DLQ功能 。 我假设您有一个正在运行的Apache ActiveMQ实例&#xff08;如果没有&#xff0c;则可以在此处下载一个版本&#xff09;。 在此示例中&#xff0c;我使用了Mule ESB…

JS设计模式(2)策略模式

什么是策略模式&#xff1f; 定义&#xff1a;根据不同参数可以命中不同的策略 主要解决&#xff1a;在有多种算法相似的情况下&#xff0c;使用 if...else 所带来的复杂和难以维护。 何时使用&#xff1a;有许多种情况&#xff0c;而区分它们的只是他们直接的行为。 如何解…

C#中使用多线程访问Winform问题解决方案

我们在做winform应用的时候&#xff0c;大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题&#xff0c;下面我将详细的介绍。 首先来看传统方法&#xff1a; public partial class Form1 : Form{public Form1(){InitializeCompon…

Choose and Divide UVa 10375

题目大意&#xff1a;给出p,q,r,s&#xff0c;求组合数C(p,q)/C(r,s) 题目思路&#xff1a; 化简得到&#xff1a;原式等价于(p!(r-s)!s!) / (r!(p-q)!q!) 由算数基本定理可知任意一个正整数可被唯一分解为素数幂乘积的形式&#xff0c;将分子分母分解后&#xff0c;进行约分即…