【1.Spring-Cloud:第一个Eureka程序】

注:本人所有的spring-cloud系列的文章均为黑马的《Spring Cloud微服务架构开发》的个人笔记。

1.第一个Eureka应用

使用idea创建一个spring-boot项目命名spring-cloud,使用默认值,直接next—finish

1.1eureka-server

创建spring-boot模块eureka-server
pom.xml文件

<?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
https://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.1.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.li</groupId>
    <artifactId>eureka-server</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>eureka-server</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.SR2</spring-cloud.version>
    </properties>
    
    <dependencies>
        <!--1.spring-cloud-starter-netflix-eureka-server-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>
                spring-cloud-starter-netflix-eureka-server
            </artifactId>
        </dependency>
        <!--2.spring-boot-starter-test-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <!--3.父依赖相关信息-->
    <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>
    <!--4.maven配置-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

1.2application.yml

server:
  port: 7000
spring:
  application:
    name: eureka-server
eureka:
  client:
    fetch-registry: false
    register-with-eureka: false
    service-url:
      defaultZone:
        http://${eureka.instance.homename}:${server.port}/eureka/
  instance:
    homename: localhost

1.3在EurekaServerApplication添加注解

package com.li.eurekaserver;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {

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

}

2.1eureka-provider

创建spring-boot模块eureka-provider服务提供者
pom.xml文件

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!--1.父工程启动类信息-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.li</groupId>
    <artifactId>spring-provider</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>spring-provider</name>
    <description>Demo project for spring boot</description>
    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.SR2</spring-cloud.version>
    </properties>
    <dependencies>
        <!--2.spring-cloud-starter-netflix-eureka-client-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <!--3.spring-boot-starter-test-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--4.spring-boot-starter-web   客户端需要web依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    <!--5.父依赖相关信息-->
    <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>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

2.2eureka-provider的application.yml

server:
    port: 7006
spring:
    application:
        name: eureka-provider
eureka:
    client:
        service-url:
            defaultZone:
                http://localhost:7000/eureka/
    instance:
      hostname: localhost

2.3在SpringProviderApplication添加注解

package com.li.springprovide;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class SpringProviderApplication {

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

}

3.1eureka-customer

创建spring-boot模块eureka-customer服务消费者
pom文件同eureka-provider

3.2application.yml

eureka-consumer

server:
    port: 7002
spring:
    application:
        name: eureka-consumer
eureka:
    instance:
       prefer-ip-address: true
    client:
        service-url:
            defaultZone: http://localhost:7000/eureka/

3.3在EurekaConsumerApplication添加注解

package com.li.eurekaconsumer;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class EurekaConsumerApplication {

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

注:先启动server,后启动实例,实例启动控制台显示204

4.1结果

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以通过以下步骤来搭建3个Eureka集群: 1. 首先,你需要在3个不同的服务器上安装JDK和Tomcat。 2. 在每个服务器上,下载Eureka服务器的稳定版本,并解压缩到Tomcat的webapps目录中。 3. 配置Eureka服务器的各个实例,例如,第一个实例可以通过以下配置进行设置: ``` server.port=8761 eureka.instance.hostname=eureka1.example.com eureka.client.serviceUrl.defaultZone=http://eureka2.example.com:8762/eureka/,http://eureka3.example.com:8763/eureka/ eureka.client.registerWithEureka=false eureka.client.fetchRegistry=false ``` 第二个实例可以通过以下配置进行设置: ``` server.port=8762 eureka.instance.hostname=eureka2.example.com eureka.client.serviceUrl.defaultZone=http://eureka1.example.com:8761/eureka/,http://eureka3.example.com:8763/eureka/ eureka.client.registerWithEureka=false eureka.client.fetchRegistry=false ``` 第三个实例可以通过以下配置进行设置: ``` server.port=8763 eureka.instance.hostname=eureka3.example.com eureka.client.serviceUrl.defaultZone=http://eureka1.example.com:8761/eureka/,http://eureka2.example.com:8762/eureka/ eureka.client.registerWithEureka=false eureka.client.fetchRegistry=false ``` 请注意,每个实例都必须具有唯一的端口号和主机名。 4. 启动Tomcat服务器,让Eureka实例可以在各个服务器之间进行通信。 5. 最后,使用Web浏览器访问其中一个Eureka实例的管理控制台,例如:http://eureka1.example.com:8761。你应该能够看到所有的实例都在运行,并且在集群中进行通信。 重复以上步骤,你可以在3个不同的服务器上创建3个Eureka集群。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值