springcloud(1)Eureka配置及集群

springcloud微服务包含的技术种类众多,eureka作为其注册中心,一直处于主流,但在今年已经处于永久停更状态,但其优秀的能力还是值得学习。

整体价格采用聚合工程,后续也存在于聚合工程内。

1.首先配置pom工程的依赖。

<dependencies>
        <!-- eureka-server -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
        <!-- 引用自己定义的api通用包 -->
      <dependency>
            <groupId>com.bai</groupId>
            <artifactId>cloud-api-common</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--监控-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!-- 一般通用配置 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

2.yml文件配置格式。

注意为了配合后续的集群,将本地127.0.0.1映射为eureka7001.com等等,具体改host方法自行搜索。

# 端口
server:
  port: 7001

spring:
  application:
    name: cloud-eureka-server
# Eureka配置
eureka:
  instance:
    # eureka服务端的实例名称
    hostname: eureka7001.com
  client:
    # false表示不向注册中心注册自己
    register-with-eureka: false
    # false表示自己端就是注册中心,职责就是维护服务实例,并不需要去检查服务
    fetch-registry: false
    # 设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址
    service-url:
      defaultZone: http://localhost:7001/eureka

3.主启动类

@EnableEurekaServer
@SpringBootApplication
public class Eureka7001 {
    public static void main(String[] args) {
        SpringApplication.run(Eureka7001.class,args);
    }
}

4.配置多个集群分布式。

eureka集群要遵循互相守望的原则。在自己的yml文件中去注册其他所有集群的地址。除了yml文件格式,其他大致都相同。

service-url:
      defaultZone: http://eureka7002.com:7002/eureka

有多少个集群就需要在defaultZone中注册多少个。

注意yml文件内的代码格式要正确,级别要对齐。

 本篇所有代码均在GitHub:

原文地址:https://www.cnblogs.com/lin530/p/13891540.html