0
点赞
收藏
分享

微信扫一扫

springcloud学习第一天之搭建Eureka环境

萨摩斯加士奇 2022-04-13 阅读 108
java

1. 首先搭建父工程,在父工程下面建立三个子模块,分别是Eurekaserver7001,comsumer_order_80和provice_payment_8001

(1)建立父工程

 

 

父工程的pom添加如下:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source><!--  根据你的jdk来改  -->
    <maven.compiler.target>1.8</maven.compiler.target><!-- 根据你的jdk来改 -->
    <junit.version>4.12</junit.version>
    <lombok.version>1.18.10</lombok.version>
    <log4j.version>1.2.17</log4j.version>
    <mysql.version>5.1.47</mysql.version>
    <druid.version>1.1.16</druid.version>
    <mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version>
</properties>


<dependencyManagement><!--定义规范,但不导入-->
    <dependencies>
        <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>3.0.0</version>
        </dependency>
        <!--spring boot 2.2.2-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.2.2.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!--spring cloud Hoxton.SR1-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Hoxton.SR1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!--spring cloud 阿里巴巴-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.1.0.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        
        <!--junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
        </dependency>
        <!--log4j-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>

       <!-- 格式化json-->

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.66</version>
        </dependency>

    </dependencies>
</dependencyManagement>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
                <addResources>true</addResources>
            </configuration>
        </plugin>
    </plugins>
</build>

 (2)建立Eureka服务治理中心

 

 

添加pom依赖:

 

<dependencies>
    <!--  Eureka服务治理得到服务端(server)   -->
    <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>

    <!--    服务治理的健康监控      -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

</dependencies>

新建主启动类

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

新建application.yml文件

eureka:
  instance:
     hostname: localhost
 #客户端配置
  client:
  #注册进入服务治理中心
     register-with-eureka: false
     #使用集群
     fetch-registry: false
     #服务治理的路径
     service-url:
        defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

 

 

 

 

 (3)建立comsumer_order_80模块

 

 

 

pom文件依赖如下:

<dependencies>

    <!--    发送web   -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

    <!--    不用写set和get   -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>

    <!--   服务治理的健康监控  -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    <!-- 格式化json-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
    </dependency>

    <!--    说明这是服务治理的客户端(client)     -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>

</dependencies>

新建主启动类和application.yml文件

 主启动类

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

 yml文件:

eureka:
   #这是客户端
   client:
        #是否注册进入服务治理中心
         register-with-eureka: true
         #是否使用集群负载均衡
         fetch-registry: true
         #入驻服务治理的地址,入驻哪个服务治理
         service-url:
            defaultZone: http://localhost:7001/eureka

   (4)建立provice_payment_8001模块

 

 

 

pom依赖如下:

<dependencies>

    <!--    发送web   -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!--   数据库连接驱动   -->
    <!--<dependency>-->
        <!--<groupId>mysql</groupId>-->
        <!--<artifactId>mysql-connector-java</artifactId>-->
        <!--<scope>runtime</scope>-->
    <!--</dependency>-->

    <!--     持久层用mybatis  -->
    <!--<dependency>-->
        <!--<groupId>org.mybatis.spring.boot</groupId>-->
        <!--<artifactId>mybatis-spring-boot-starter</artifactId>-->
    <!--</dependency>-->

    <!--    服务治理的健康监控      -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    <!--    连接池   -->
    <!--<dependency>-->
        <!--<groupId>com.alibaba</groupId>-->
        <!--<artifactId>druid-spring-boot-starter</artifactId>-->
    <!--</dependency>-->

    <!--  使用JDBC连接 -->
    <!--<dependency>-->
        <!--<groupId>org.springframework.boot</groupId>-->
        <!--<artifactId>spring-boot-starter-jdbc</artifactId>-->
    <!--</dependency>-->

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
   <!--   不用写set和get-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>

    <!--   用来格式化json   -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
    </dependency>

    <!--    说明这是服务治理的客户端(client)     -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
</dependencies>

新建主启动类

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

新建application.yml

server:
   port: 8001
spring:
   application:
       name: cloud-payment-service

#这是eureka服务治理
eureka:
   #这是客户端
   client:
        #是否注册进入服务治理中心
         register-with-eureka: true
         #是否使用集群负载均衡
         fetch-registry: true
         #入驻服务治理的地址,入驻哪个服务治理
         service-url:
            defaultZone: http://localhost:7001/eureka

 (5) 最后启动微服务,启动顺序,先启动Eureka服务治理中心,然后启动其他的微服务,在浏览器输入 http://localhost:7001

 当出现Instances currently registered with Eureka不为空时,环境搭建成功,如图所示:

提示:因为服务器启动,还有微服务入驻需要时间,因此,在启动完成后,等待1分钟在刷新,才能看到下面图片一样的内容

 

 

 

举报

相关推荐

0 条评论