spring-cloud微服务(2) 创建eureka client和server
程序员文章站
2022-06-13 19:06:08
...
概述
在springCloud框架下完成eureka组件的客户端和服务端的开发。
eureka组件完成服务注册与发现。
访问服务地址,可以查看到注册进来的client
功能结果
工程框架图
设计流程
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;
}
}