SpringCloudEureka集群

news/2024/7/9 22:31:58 标签: netflix, 负载均衡, 集群, 高可用, eureka高可用

一、Spring Cloud Netflix

该项目是Spring Cloud的核心子项目,是对Netflix公司一系列开源产品的封装。它为Spring Boot应用提供了自配置的整合,只需要通过一些简单的注解,就可以快速地在Spring Cloud的应用中使用起来。

它主要提供的模块包括:
服务发现注册(Eureka)
客户端负载均衡(Ribbon)
断路器(Hystrix)
智能路由(Zuul)

开源地址:
http://netflix.github.io/
https://github.com/Netflix

二、服务注册和服务发现

调用关系说明:
1.服务提供者在启动时,向注册中心注册自己提供的服务。
2.服务消费者在启动时,向注册中心订阅自己所需的服务。
3.注册中心返回服务提供者地址给消费者。
4.服务消费者从提供者地址中调用消费者。

注意! 下面的服务端指:注册中心,客户端指:提供者和消费者

三、如何使用Eureka进行服务注册和发现

1、服务端添加依赖

<dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>

2、服务端添加配置

server.port=8088
spring.application.name=travel-eureka-provider
#tag::禁止注册中心注册自己
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#服务器的IP
eureka.instance.hostname=192.168.58.198
#指向另一个eureka地址
eureka.client.serviceUrl.defaultZone=http://192.168.13.129:8089/eureka/
单个注册中心地址
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka

3、服务端添加注解
@EnableEurekaServer

4、客户端添加依赖

org.springframework.cloud
spring-cloud-starter-eureka

5、客户端添加配置
提供者

server

server.port=7777

spring

spring.application.name=travel-platform-provider

eureka

eureka.client.serviceUrl.defaultZone=http://192.168.13.129:8089/eureka/,http://192.168.58.198:8088/eureka/

可以启动多个提供者进行负载均衡.

消费者

server

server.port=8888

spring

spring.application.name=spring-cloud-consumer

eureka

eureka.client.serviceUrl.defaultZone=http://192.168.13.129:8089/eureka/,http://192.168.58.198:8088/eureka/

6、客户端添加注解
@EnableEurekaClient

注意:
EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY’RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.

分析:是由于Eureka进入了保护模式。
在保护模式下,Eureka Server将会尝试保护其服务注册表中的信息,暂时不会注销服务注册表中的服务。

注意!!

消费者采用的是@FeignClient(name = “travel-platform-provider”) 注解,加入接口上,方式调用服务

@FeignClient(value = “travel-platform-provider”, url = “127.0.0.1:1013”) 直接调用是本地的提供者.

错误:

Load balancer does not have available server for client:

原因:@FeignClient(name = “travel-platform-provider”) 找不到提送的服务.是这个名字错误了.

Eureka 服务器地址:eureka

使用方法

直接下载下来导入idea 即可.然后打包放入不同服务器运行. 也可以配置在本地.
host转换

在hosts文件中加入如下配置

127.0.0.1 a
127.0.0.1 b

把application文件改服务器IP 即可.


http://www.niftyadmin.cn/n/1570617.html

相关文章

java批量修改文件名--

<p><span style"font-size:18px;"> 初次学习java&#xff0c;被java的灵活性和简洁的思路所吸引</span></p><p><span style"font-size:18px;">需求&#xff1a;看到java视频在播放器列表中的文件名很长&#xff0c;每…

linux 简单指令以及文件操作

4.简单指令 1.cha查看目录下有什么文件/目录 >ls //list 列出目录下文件信息 >ls –l //list –list 以“详细信息”查看文件 >ls –a //list –all 查看目录“全部”&#xff08;包括隐藏&…

Javascript回顾——第3讲:表单(要熟练掌握)

第3讲 表单<form>&#xff08;要熟练掌握&#xff09; 单选框&#xff1a; <input type”radio” name”--”>&#xff1a;需要将其分组 例如&#xff1a;选择性别时 男和女只能选一个 就需要设置其属性 利用name属性对其进行分组&#xff0c;将男和女分为一组…

JavaScript回顾——第4讲:其他标签

第四讲 其它标签 <pre> 保留数据的原样格式 &#xff0c;比如可以将java代码显示出来 <p> 段落标签 <b>,<strong>加粗 <i> 斜体 <u> 下划线 <sub> 下标 <sup> 上标 移动内容&#xff1a; <marqueen direc…

java程序员必须掌握的 正则表达式

最全的常用正则表达式大全 2016-01-09 Linux爱好者&#xff08;点击上方公号&#xff0c;可快速关注) 作者&#xff1a;zxin 链接&#xff1a;http://www.cnblogs.com/zxin/archive/2013/01/26/2877765.html 很多不太懂正则的朋友&#xff0c;在遇到需要用正则校验数据时&#…

JavaScript回顾--15_document工具

通常我们在查找元素时都要通过document获取标签对象 获取的方法有如下3种&#xff1a; 1.通过标签id2.通过标签类型名TagName3.通过标签的名称属性name 通过.js文件封装如下三个方法&#xff0c;可以在今后使用这三个工具时方便的导入html文件中就可以使用了 导入方法&#xf…

JavaScript回顾--13_dom简介

DOM : document object model文档对象模型dom的三层模型&#xff1a;dom1&#xff1a;将html文档封装成对象dom2&#xff1a;将xml文档封装成对象dom3&#xff1a;将xml文档封装成对象dom树 节点DHTML:DynamicHtml 是多种技术的综合体html 通过标签封装数据css 标签样式do…

JavaWeb_01_Dom4j操作节点元素和属性的增删改查

l1.取得某个节点的子节点.Element element ele.element(“书名");List elementList ele.elements(“书名");List elementList ele.elements();</pre><span style"font-size:16pt"><span style"font-family:Wingdings; font-size:70%&q…