Spring cloud Eureka服务注册及发现(二)创建注册服务
下面我们创建提供服务的客户端,并向服务注册中心注册自己。假设我们有一个提供计算功能的微服务模块,我们实现一个RESTful API,通过传入两个参数a和b,最后返回a + b的结果。创建注册到eurake的服务程序1.创建一个基本的Spring Boot应用,在pom.xml中继承springCloud,引入eureka 包。 如下:<!--1.引入springCloud parent包的继
·
文章参考来源: 翟永超 的 http://blog.didispace.com/springcloud1/
下面我们创建提供服务的客户端,并向服务注册中心注册自己。
假设我们有一个提供计算功能的微服务模块,我们实现一个RESTful API,通过传入两个参数a和b,最后返回a + b的结果。
- 创建注册到eurake的服务程序
1.创建一个基本的Spring Boot应用,在pom.xml中继承springCloud,引入eureka 包。 如下:
<!-- 1.引入springCloud parent包的继承-->
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>Brixton.RELEASE</version>
<relativePath />
</parent>
.....
<dependencies>
<!-- 2. 引入Eureka服务包-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<!-- spring配置客户端jar包 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
</dependencies>
2.配置application.yml,设置配置服务器地址和eureka配置信息
spring:
profiles:
#默认使用下面哪个配置项。启动项目的时候 可使用 -Dspring.profiles.active=dev 更换使用的配置项
active: test
#服务配置信息
application:
name: computeService
cloud:
#配置服务器的设置信息
config:
#采用的文件类型 即:生产环境,测试环境。。
profile: ${spring.profiles.active}
#配置服务器的访问地址
uri: http://${config.server.hostname}:${config.server.port}
server:
port: ${port}
#一下信息 尽量配置到git文件上,然后通过配置服务器获取
eureka:
client:
#表示是否注册自身到eureka服务器
registerWithEureka: true
#是否从eureka服务器获取注册信息
fetchRegistry: true
registry-fetch-interval-seconds: 30
#开启客户端存活状态监测
healthcheck:
enabled: true
serviceUrl:
#设置Eureka服务器地址
defaultZone: http://${euruka.server.hostname}:${euruka.server.port}/eureka/
#将不同的配置以---分割
---
spring:
profiles: test
port: 7090
config:
server:
hostname: 127.0.0.1
port: 8888
---
spring:
profiles: dev
port: 8090
config:
server:
hostname: 127.0.0.1
port: 8888
3.实现/add请求处理接口,编写实际的业务逻辑
@RestController
public class ComputeController {
private final Logger logger = Logger.getLogger(getClass());
@Autowired
private DiscoveryClient client;
@RequestMapping(value = "/add" ,method = RequestMethod.GET)
public Integer add(@RequestParam Integer a, @RequestParam Integer b) {
ServiceInstance instance = client.getLocalServiceInstance();
Integer r = a + b;
logger.info("/add, host:" + instance.getHost() + ", service_id:" + instance.getServiceId() + ", result:" + r);
return r;
}
}
4.添加 @EnableEurekaClient注解到启动类,使用Eureka的将使用服务注册和服务发现功能
//配置本应用将使用服务注册和服务发现,注意:注册和发现用这一个注解。
@EnableEurekaClient
@SpringBootApplication
public class ComputeServiceApplication {
public static void main(String[] args) {
new SpringApplicationBuilder(ComputeServiceApplication.class).run(args);
}
}
查看Eureka服务器界面 可以看到 computeService已经注册到Eureka服务器。
可以在浏览器中打开测试computeService的add接口
如此以来该服务启动后会自动注册到eureka服务器。如果在该服务中还需要调用别的服务,那么直接使用那个服务的服务名称加方法名构成的url即可,具体我们将在下章介绍。
更多推荐
已为社区贡献2条内容
所有评论(0)