• eureka集群的搭建


    本次将会创建三个注册中心和一个客户端进行集群,架构图如下:

     修改本机hosts文件,创建三个域名:

     代码结构如图:

     由于三个注册中心结构都是一样的,区别在于配置文件:

    #注册中心(eureka-server01.com)的yml配置
    server:
      port: 8671
    eureka:
      instance:
        hostname: eureka-server01.com #这里需要设置为跟http://eureka-server01.com:8671/域名一样
        instance-id: eureka-server
        prefer-ip-address: false #需要设置为false
      client:
        registerWithEureka: true #需要设置为true
        fetchRegistry: false
        serviceUrl:
          defaultZone: http://eureka-server02.com:8672/eureka/,http://eureka-server03.com:8673/eureka/ #另外两个注册中心的注册地址
    spring:
      application:
        name: server # 三个注册中心集群的名字需要一致  
        
    #注册中心(eureka-server02.com)的yml配置  
      
    server:
      port: 8672
    
    eureka:
      instance:
        hostname: eureka-server02.com #这里需要设置为跟http://eureka-server02.com:8672/域名一样
        instance-id: eureka-server2
        prefer-ip-address: false #需要设置为false
      client:
        registerWithEureka: true #这里需要设置为true
        fetchRegistry: false
        serviceUrl:
          defaultZone: http://eureka-server01.com:8671/eureka/,http://eureka-server03.com:8673/eureka/ #另外两个注册中心的注册地址
    spring:
      application:
        name: server # 三个注册中心集群的名字需要一致  
    
    #注册中心(eureka-server03.com)的yml配置  
    
    server:
      port: 8673
    
    eureka:
      instance:
        hostname: eureka-server03.com  #这里需要设置为跟http://eureka-server03.com:8673/域名一样
        instance-id: eureka-server3
        prefer-ip-address: false #需要设置为false
      client:
        registerWithEureka: true #需要设置为true
        fetchRegistry: false
        serviceUrl:
          defaultZone: http://eureka-server01.com:8671/eureka/,http://eureka-server02.com:8672/eureka/ #另外两个注册中心的注册地址
    spring:
      application:
        name: server # 三个注册中心集群的名字需要一致

    注册中心主启动类添加注解: 

    @EnableEurekaServer,如:

     注册中心的依赖:

    <dependencies>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
    </dependency>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    </dependencies>

    到此注册中心集群搭建完毕,下面搭建客户端product-client

    yml配置:
    server:
      port: 8674
    eureka:
      client:
        serviceUrl:
          defaultZone: http://eureka-server01.com:8671/eureka/,http://eureka-server02.com:8672/eureka/,http://eureka-server03.com:8673/eureka/ #三个注册中心的地址都要加上
      instance:
        instance-id: product-client
        prefer-ip-address: true
    spring:
      application:
        name: product-client

    启动类:

     依赖:

    <dependencies>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
    </dependency>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    </dependencies>


    注册中心和客户端都继承于父工程,父工程的pom如下:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
      </parent>
      <groupId>com.yang.xiao</groupId>
      <artifactId>cloud</artifactId>
      <packaging>pom</packaging>
      <version>1.0-SNAPSHOT</version>
      <modules>
        <module>eurekaserver</module>
        <module>eurekaserver2</module>
        <module>eurekaserver3</module>
        <module>eurekaserver3</module>
        <module>prouctClient</module>
      </modules>
    
      <name>cloud</name>
    
    
    
    
      <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR3</spring-cloud.version>
      </properties>
    
    
      <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>
          <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
          </dependency>
        </dependencies>
      </dependencyManagement>
    
      <build>
        <plugins>
          <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    
    </project>

     



  • 相关阅读:
    清除System.Web.HttpRuntime.Cache缓存
    C# 自动添加文件头注释的方法
    MVC中为站点添加是否开启过滤器
    css 设置页面打印分页
    MVC core TempData Session has not been configured for this application or request.
    abp .net core hangfire JobStorage.Current property value has not been initialized
    数据库还原失败System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数据库备份
    无法执行程序。所执行的命令为 "C:WindowsMicrosoft.NETFramework64v4.0.30319csc.exe" /noconfig /fullpaths @"C:WindowsMicrosoft.NETFramework64v4.0.30319Temporary ASP.NET Files oot411ea3248a9fbaun5r0xd.c
    ABP select2 在模态框中搜索框无法输入
    asp access 数据库连接失败(未指定的错误)
  • 原文地址:https://www.cnblogs.com/yangxiaohui227/p/12564864.html
Copyright © 2020-2023  润新知