SpringClound-注册-Eureka
2019-03-07 本文已影响0人
bear_small
1.新建springboot项目(注册中心)
(1). 添加maven依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
(2).application.properties文件配置
spring.application.name=registry
server.port=8080
eureka.instance.hostname=localhost
# 表示是否将自己注册到Eureka Server,默认为true。
eureka.client.register-with-eureka=false
# 表示是否从Eureka Server获取注册信息,默认为true。
eureka.client.fetch-registry=false
# 设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。默认是 http://localhost:8761/eureka ;多个地址可使用,分隔
eureka.client.service-url.defaultZone=http://localhost:${server.port}/eureka/
2.新建springboot项目(用户服务-服务提供者)
(1). 添加maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
(2).application.properties文件配置
spring.application.name=shmily-user
server.port=8000
eureka.client.service-url.defaultZone=http://localhost:8080/eureka/
(3).启动类
@EnableDiscoveryClient
@SpringBootApplication
public class ShmilyUserApplication {
public static void main(String[] args) {
SpringApplication.run(ShmilyUserApplication.class, args);
}
}
(4).提供者
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private DiscoveryClient discoveryClient;
@GetMapping("/test")
public String test(){
String services = "Service:" + discoveryClient.getServices();
System.out.println(services);
return services;
}
}
3.新建springboot项目(系统管理服务-服务消费者)
(1). 添加maven依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
(2).application.properties文件配置
spring.application.name=xb-sys
server.port=8081
eureka.client.service-url.defaultZone=http://localhost:8080/eureka/
(3).启动类
@EnableDiscoveryClient
@EnableFeignClients
@SpringBootApplication
public class XbSysApplication {
public static void main(String[] args) {
SpringApplication.run(XbSysApplication.class, args);
}
}
(4).消费者
4.1 .rpc远程调用部分
@Repository("userRemote")
@FeignClient(value = "shmily-user", fallback = UserRemoteHystrix.class)
public interface UserRemote {
@RequestMapping("/user/test")
String test();
}
4.2 .调用部分
@RestController
@RequestMapping("user")
public class UserController {
@Resource
private UserRemote userRemote;
@GetMapping("/rpcTest")
public String rpcTest(){
return userRemote.test();
}
}
<font color='red'>后续会继续完成后续相关方面的文章,欢迎点赞_</font>