Spring Cloud构建微服务架构-创建“服务提供方”
来源:互联网 发布:c语言中有几个关键字 编辑:程序博客网 时间:2024/06/05 21:59
下面我们创建提供服务的客户端,并向服务注册中心注册自己。本文我们主要介绍服务的注册与发现,所以我们不妨在服务提供方中尝试着提供一个接口来获取当前所有的服务信息。
首先,创建一个基本的Spring Boot应用。命名为eureka-client
,在pom.xml
中,加入如下配置:
1234567891011121314151617181920212223242526272829
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.4.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.SR1</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
其次,实现/dc请求处理接口,通过DiscoveryClient对象,在日志中打印出服务实例的相关内容。
1234567891011121314
public class DcController {DiscoveryClient discoveryClient;"/dc")(public String dc() {String services = "Services: " + discoveryClient.getServices();System.out.println(services);return services;}}
最后在应用主类中通过加上@EnableDiscoveryClient
注解,该注解能激活Eureka中的DiscoveryClient实现,这样才能实现Controller中对服务信息的输出。
123456789
public class Application {public static void main(String[] args) {new SpringApplicationBuilder(ComputeServiceApplication.class).web(true).run(args);}}
我们在完成了服务内容的实现之后,再继续对application.properties
做一些配置工作,具体如下:
123
spring.application.name=eureka-clientserver.port=2001eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/
通过spring.application.name
属性,我们可以指定微服务的名称后续在调用的时候只需要使用该名称就可以进行服务的访问。eureka.client.serviceUrl.defaultZone
属性对应服务注册中心的配置内容,指定服务注册中心的位置。为了在本机上测试区分服务提供方和服务注册中心,使用server.port
属性设置不同的端口。
当然,我们也可以通过直接访问eureka-client
服务提供的/dc
接口来获取当前的服务清单
1
Services: [eureka-client]
其中,方括号中的eureka-client
就是通过Spring Cloud定义的DiscoveryClient
接口在eureka的实现中获取到的所有服务清单。由于Spring Cloud在服务发现这一层做了非常好的抽象,所以,对于上面的程序,我们可以无缝的从eureka的服务治理体系切换到consul的服务治理体系中区。
从现在开始,我这边会将近期研发的springcloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,希望可以帮助更多的好学者。大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。源码来源
- Spring Cloud构建微服务架构-创建“服务提供方”
- Spring Cloud构建微服务架构—创建“服务注册中心”
- Spring Cloud构建微服务架构—创建“服务注册中心”
- Spring Cloud构建微服务架构(五)服务网关
- Spring Cloud构建微服务架构(二)服务消费者
- Spring Cloud构建微服务架构(五)服务网关
- Spring Cloud构建微服务架构(二)服务消费者
- Spring Cloud构建微服务架构(五)服务网关
- Spring Cloud构建微服务架构(五)服务网关
- Spring Cloud构建微服务架构(五)服务网关
- Spring Cloud构建微服务架构(二)服务消费者
- Spring Cloud构建微服务架构(二)服务消费者
- Spring Cloud构建微服务架构(五)服务网关
- Spring Cloud构建微服务架构:服务网关
- Spring Cloud构建微服务架构(二)服务消费者
- Spring Cloud构建微服务架构(五)服务网关
- Spring Cloud构建微服务架构(二)服务消费者
- Spring Cloud构建微服务架构(五)服务网关
- 一个简单的sql查询脚本
- 2017.11.13-19工作总结
- Jstack
- 【机房收费系统】——命名问题
- MRAID3.0_翻译
- Spring Cloud构建微服务架构-创建“服务提供方”
- 安卓自动播放的广告
- [一图一世界] 面解析人工智能技术前世今生
- Jmap
- EXT2、 EXT3 和 EXT4 文件系统健康状况检查工具
- 读《文艺复兴三杰,达芬奇》
- TouchID 指纹解锁
- Python3.0Web学习。
- 2017网易游戏雷火盘古实习生招聘笔试真题:字符串编码 [python]