在完成了服务注册中心的搭建之后,接下来我们尝试将一个既有的 Spring Boot 应用加 入 Emeka 的服务治理体系中去。可以使用上一章中实现的快速入门工程来进行改造, 将其作为一个微服务应用向服务 注册中心发布自己。 首先, 修改 pom.xml, 增加 Spring Cloud Eureka 模块的依赖, 具体代 码如下所示:

<modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.4.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency><dependency><groupId>org.springframework.retry</groupId><artifactId>spring-retry</artifactId></dependency><dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-core</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

接着, 改造/hello 请求处理接口, 通过注入 DiscoveryClient对象, 在日志中打印出服务的相关内容。

@RestController
public class HelloController { private final Logger logger = Logger.getLogger(getClass());@Autowired private DiscoveryClient client;@RequestMapping(value = "/hello", method= RequestMethod.GET) public String index() { Service Instance instance = client.getLocalServiceinstance(); logger.info("/hello, host:" + instance.getHost() + ", service id:" +instance.getServiceid());return "Hello World";}
}

然后, 在主类中通过加上 @EnableDiscoveryClient 注解, 激活 Eureka 中的 DiscoveryClient 实现(自动化配置, 创建 DiscoveryClient 接口针对 Eureka 客户 端的 EurekaDiscoveryClient 实例), 才能实现上述 Controller 中对服务信息的输出。

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

最后 ,我们需要在 application.yml配置文件中,通 过 spring. application.name属性来为 服 务命名,比如命名 为 hello-service。 再通过 eureka.client. serviceUrl.defaultZone属性来指定服务注册中心的地址, 这里 我们指定为之前构建的服务注册中心地址, 完整配置如下所示:

spring.application.name=hello-service
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/

下面我们分别启 动服务注册中心以及这里改造后的hello-service 服务。 在hello-service服务控制台中,Tomcat启动之后,com.netflix.中scovery.DiscoveryClient 对象打印了该服务的注册信息 ,表示服务注册成功。

而此时在服务注册中心的控制台中,可以看到类似下面的输出,名为hello-service 的服务被注册成功了。

此版本比较旧只做学习参考

(二)注册服务提供者相关推荐

  1. Spring Cloud Eureka 入门 (二)服务提供者详解

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! "优秀不是过 ...

  2. Spring Cloud Eureka(二)注册一个服务的提供者

    Spring Cloud Eureka(二)注册一个服务的提供者 注册一个服务的提供者 在上一篇中,当启动项目并访问localhost:1111时,发现该注册中心还没有注册任何服务.所以现在来搞一个服 ...

  3. [Django]SE项目回忆录(二)-注册/登录功能的实现及细节

    该项目中提供了注册和登录两部分功能,功能描述如下: 注册: 允许任何用户进行学生身份的注册. 教师用户预先已经保存在数据库中,不允许以游客身份注册新的教师用户. 注册时需要填写的信息包括: - 用户名 ...

  4. uniapp实战(二) -- 注册小程序,UniApp设置

    微信小程序的管理在微信公众平台进行,微信公众平台 点击右上角立即注册进行注册 然后选择小程序,注册小程序需要使用邮箱,一个邮箱只能绑定一个小程序 填写完成后进行邮箱激活,然后输入个人信息进行注册. 以 ...

  5. spring cloud 学习之 服务注册和发现(Eureka)

    一:服务注册和发现(Eureka) 1:采用Eureka作为服务注册和发现组件 2:Eureka 项目中 主要在启动类加上 注解@EnableEurekaServer @SpringBootAppli ...

  6. eureka java_spring cloud 入门系列二:使用Eureka 进行服务治理

    服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现. Spring Cloud Eureka是Spring Cloud Netflix 微服务套件的一部分 ...

  7. 【JEECG Dubbo专题】Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(二)

    Dubbo与Zookeeper.Spring整合使用 Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spri ...

  8. SpringCloud的服务注册中心(三) - 进一步了解 Eureka

    一.服务治理参与者 服务注册中心: eureka-server 服务提供者:HELLO-SERVICE 服务消费者 :HELLO-CONSUMER 很多时候,客户端既是服务提供者又是服务消费者,-&g ...

  9. SpringCloud--Eureka 注册中心原理及其搭建

    一. Eureka简介 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的.SpringC ...

最新文章

  1. 有关多核一致性的理解和思考
  2. php变量与数组相互转换的方法(extract与compact
  3. 初试牛刀---css中的小细节
  4. 辗转相除求最大公约数
  5. 分析FLV文件分析和解析器的开源代码
  6. [html] 如何让pre标签中的元素自动换行?
  7. org.apache.ibatis.reflection.ReflectionException: There is no getter for property named XXX
  8. 书店POS机--细化迭代2--测试
  9. 小米捐赠5亿启动“小米青年学者”项目 5年支持100所高校
  10. apache性能调优
  11. Window 10 单机配置MYSQL主从同步
  12. linux制作光盘镜像文件
  13. Web页面打印及GridView导出到Excel
  14. Unity笔记之切换鼠标图标样式、PSD格式文件导入Unity
  15. 开关电源补偿环路设计(2):实践部分-例题
  16. kali 镜像下载(免费下载)
  17. 设计模式——观察者(监听者,订阅)模式||线程安全||c++详解
  18. Access to XMLHttpRequest at ‘file:///D:/xx/xxx.json‘ from origin ‘null‘ has been blocked by CORS问题解决
  19. 51信用卡 Android 架构演进实践
  20. centos 7-aarch64如何替换yum源

热门文章

  1. python线程安全的计数器_Python多线程同步Lock、RLock、Semaphore、Event实例
  2. zsh of kali
  3. 无法打开物理文件 XXX.mdf,操作系统错误 5.5(拒绝访问) 的解决办法
  4. 数据类型总结(干货)
  5. 【bzoj】 1412: [ZJOI2009]狼和羊的故事
  6. codevs4203山区建小学
  7. 【html】【19】高级篇--大事件时间轴
  8. 数据按时间拆开分批处理示例
  9. fork()调用使子进程先于父进程被调度
  10. Entity Framework 4.1 : 贪婪加载和延迟加载