欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring-cloud微服务(2) 创建eureka client和server

程序员文章站 2022-06-13 19:06:08
...

概述

在springCloud框架下完成eureka组件的客户端和服务端的开发。

eureka组件完成服务注册与发现。

spring-cloud微服务(2) 创建eureka client和server
访问服务地址,可以查看到注册进来的client
spring-cloud微服务(2) 创建eureka client和server

功能结果

spring-cloud微服务(2) 创建eureka client和server

工程框架图

spring-cloud微服务(2) 创建eureka client和server

设计流程

1.创建maven工程spring-cloud-parent.

因为属于spring-boot-all的子工程,已经继承了父工程中spring-boot的配置。
在spring-cloud-parent的pom中添加spring-cloud的配置。
<dependencyManagement>
        <dependencies>
            <!--与springboot1.5.9.RELEASE版本对应的Edgware版本的springcloud导入-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Edgware.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

2.创建erueka-server子工程

pom配置添加eureka-server依赖
<dependencies>
    <!--eureka-server依赖-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
</dependencies>

添加application.properties配置文件

server.port=8761

#服务名称
spring.application.name=eureka-server
#治理组件底层ip地址通信
eureka.instance.prefer-ip-address=true
#关闭注册和抓取 高可用在开放
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#注册中心地址 高可用使用
eureka.client.service-url.defaultZone=http://localhost:8761/eureka
eureka.server.enable-self-preservation=false

设置启动类:

@SpringBootApplication
@EnableEurekaServer  //erueka-server启动类标志
public class EurakeServerStarter {
    public static void main(String[] args) {
        SpringApplication.run(EurakeServerStarter.class, args);
    }
}

3.创建子工程erueka-client

需要在pom文件中添加erueka-client的依赖。

<dependencies>
	<!--eureka-client-->
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-eureka</artifactId>
	</dependency>
</dependencies>

在application.properties配置中,需要配置defaultZone.要求与server相同

server.port=8091
spring.application.name=service-hi
#eureka -client
eureka.instance.preferIpAddress=true
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka

添加启动类

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

控制层

@RestController
public class myController {

    @Value("${server.port}")
    private String port;

    @RequestMapping(value = "/client/name", method = {RequestMethod.GET, RequestMethod.POST})
    public String printInfo(String name) {
        return "hello" + name +port;
    }
}