ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringCloud之Eureka(三)

2020-12-03 12:32:11  阅读:134  来源: 互联网

标签:spring eureka 注册 SpringCloud Eureka com 服务端


Eureka(服务/提供/消费)

基本知识

EUreka类似zookeeper。

Eureka分为两个端,一个是服务端就像zookeeper的注册中心一样,一个是客户端用于项目的服务提供者把项目注册到注册中心。

配置eureka

服务端

1.创建一个springboot项目,并导入eureka服务端依赖

<!--同意管理版本呢-->
<properties>
    <java.version>1.8</java.version>
    <spring-cloud.version>2020.0.0-M5</spring-cloud.version>
</properties>

<dependencies>
    <!--eureka依赖-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
     <!--web依赖-->
     <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
        <!--springtest依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
<!--springcloud依赖-->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<repositories>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
    </repository>
</repositories>

2.编译配置文件

server:
  port: 6998
eureka:
  instance:
    hostname: eureka6998.com #Eureka服务端的实例名称
  client:
    register-with-eureka: false # 表示是否向eureka注册中心注册自己
    fetch-registry: false #fetch-registry如果为false,则表示自己为注册中心

3.开启eureka

在主启动类上开启eureka

@EnableEurekaServer//开启eureka
@SpringBootApplication
public class SpringcloudEks6998Application {
    public static void main(String[] args) {
        SpringApplication.run(SpringcloudEks6998Application.class, args);
    }

}

4.测试

地址为配置文件中的Eureka服务端的实例名称

eureka:
  instance:
    hostname: eureka6998.com #Eureka服务端的实例名称

在这里插入图片描述

客户端(服务提供者)

1.导入依赖(导入是eureka的客户端依赖,不是服务端的)

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>2020.0.0-M5</spring-cloud.version>
    </properties>

    <dependencies>
         <!--eureka-client依赖-->
         <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <!--actuator完善监控信息-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        
 		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </repository>
    </repositories>

2.配置文件

server:
  port: 7002
spring:
  application:
    name: springcloud-ekc-7002 #应用名称
eureka:
  client:
    service-url:
      defaultZone:  http://eureka6999.com:6998/eureka/ #注册那个注册eureka服务端
  instance:
    instance-id: this is ek client,port is 7002  #说明
info:  #用于描述这个服务提供者的作用,了解即可
  app.name: 我是ek客户端,端口号为7002
  auth: 作者是姜兴

3.开启eureka客户端

在主启动类上添加@EnableEurekaClient

@SpringBootApplication
@EnableEurekaClient
public class SpringcloudEkc7002Application {

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

}

4.测试

在eureka服务中心可以看到我们的服务提供者注册到里面去了。application为我们配置的名称 UP

在这里插入图片描述

instance-instance-id.点击这个连接可以进入另外一个页面,用户展示info配置的信息。不过记得导入依赖,否则跳转到错误页面。

      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

在这里插入图片描述

集群eureka

​ Eureka的集群还是比较简单的。我们只需要把配置文件的service-url-defaultZone添加我们的 Eureka服务端即可。

1.创建3个eurekaf服务端,端口分别为6998、6999、7000.依赖和单机版一样。和一个eureka客户端。

2.eureka服务端配置文件:

server:
  port: 6998
eureka:
  instance:
    hostname: eureka6998.com #Eureka服务端的实例名称
  client:
    register-with-eureka: false # 表示是否向eureka注册中心注册自己
    fetch-registry: false #fetch-registry如果为false,则表示自己为注册中心
    service-url: # 表示集群的地址
      defaultZone: http://eureka6999.com:6999/eureka/,http://eureka7000.com:7000/eureka/
server:
  port: 6999
eureka:
  instance:
    hostname: eureka6999.com #Eureka服务端的实例名称
  client:
    register-with-eureka: false # 表示是否向eureka注册中心注册自己
    fetch-registry: false #fetch-registry如果为false,则表示自己为注册中心
    service-url:
      defaultZone: http://eureka6998.com:6998/eureka/, http://eureka7000.com:7000/eureka/
server:
  port: 7000
eureka:
  instance:
    hostname: eureka7000.com #Eureka服务端的实例名称
  client:
    register-with-eureka: false # 表示是否向eureka注册中心注册自己
    fetch-registry: false #fetch-registry如果为false,则表示自己为注册中心
    service-url:
      defaultZone: http://eureka6999.com:6999/eureka/, http://eureka6998.com:6998/eureka/

我们是在一个主机上实现的,为了看出集群效果,我们配置一下host文件。
在这里插入图片描述

在这里插入图片描述

这个操作是一个映射操作,目的是为了使我们在单机的配置像在很多服务器上一样,其实没什么用。简单来说就是

service-url-defaultZone: http://eureka6999.com:6999/eureka/, http://eureka6998.com:6998/eureka/的配置不用localhost代替,在访问是用我们设置好的名称访问。

eureka集群配置和单机一样,只不过是配置文件中的defaultZone有多个路径。也就是互相监视。

3.Eureka客户端注册

服务提供者注册到集群的eureka注册中心,在配置中设置defaultZone的值为eureka的地址

server:
  port: 7002
spring:
  application:
    name: springcloud-ekc-7002
eureka:
  client:
    service-url:
      defaultZone:  http://eureka6999.com:6998/eureka/,http://eureka6999.com:6999/eureka/,http://eureka7000.com:7000/eureka/
  instance:
    instance-id: this is ek client,port is 7002
info:
  app.name: 我是ek客户端,端口号为7002
  auth: 作者是姜兴

测试:

6998端口的Eureka

在这里插入图片描述

6999端口的Eureka

在这里插入图片描述

7000端口的Eureka

在这里插入图片描述

标签:spring,eureka,注册,SpringCloud,Eureka,com,服务端
来源: https://blog.csdn.net/qq_41343166/article/details/110526085

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有