springCloud微服务-EurekaClient的使用

在使用Eureka Client时要保证Server是启动的

Eureka创建概述

1.idea-->spring --->cloud discovery--->Eureka Discovery,删除多余文件,保证和server 的spring cloud 和 spring boot版本一致

2.在全局文件中配置注册中心的地址和别名(根据需要),以及应用的名字

3.在启动类上添加@EnableDiscoveryClient启动

在Server端可以关闭虚拟注册列表,在Server 上添加server:enable-self-preservation:false

启动类:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class SpringCloudClientApplication {

   public static void main(String[] args) {
      SpringApplication.run(SpringCloudClientApplication.class, args);
   }
}

pom.xml注意版本号

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.0.0.M3</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
   <java.version>1.8</java.version>
   <spring-cloud.version>Finchley.M2</spring-cloud.version>
   <product-common.version>0.0.1-SNAPSHOT</product-common.version>
</properties>

application.yml

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
#  instance:
#    hostname: clientName
spring:
  application:
    name: client
logging:
  level: debug

------Eureka实现高可用-----

在idea 中的Eureka Server端右上角的Edit Configurationsh列表中复制一份,分别命名为EurekaApplication1 和

EurekaApplication2 ,这里用端口号作为区分

在VM options:中分别添加-Dserver.port=8761和-Dserver.port=8762

------------Eureka Server相互注册---------

在第一个Server端的defaultZone中填入第二个Server端的地址,在第二个中添加第一个Server端的地址

此时注意,当client注册在第一个Server端时,第二个Server端会被自动注册,简称同步机制


现在如果server1挂掉了,那么怎么保证client依然能访问到server呢?

解决的办法就是client同时注册到俩个server上,只要在client中以逗号隔开配置两个defaltZone地址

那么如果项目更大了,server更多了怎么办,此时server间依然按照俩俩注册,client端配置三个地址

defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/

如下图:




----------Eureka总结------------

1.@EnableEurekaServer @EnableEurekaClient 

2.心跳检测,健康检查,负载均衡等功能 

3.Eureka的高可用,生产上建议至少俩台以上

4.分布式系统中,服务注册中心是最重要的基础部分


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值