SpringCloudEureka集群

一、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 即可.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值