![8655a8971115efa7e788f62629d204e5.png](https://i-blog.csdnimg.cn/blog_migrate/8d759b2dbed29ba63258fe185687b817.jpeg)
SpringCloud使用Eureka服务注册与发现
SpringCloud是什么:
我们来看SpringCloud官网首页一句话:Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(如:配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选择、分布式会话)。
所以,我们可以这样理解: Spring Cloud是一个微服务框架,提供了开发分布式系统的基本工具,能够快速进行微服务开发。
本篇文章中心要点:使用Eureka作为服务注册中心,注册服务!
使用工具:IntelliJ IDEA,JAVA8,maven3.6
让我们开始愉快的SpringCloud学习之旅吧!
搭建父工程spring-cloud
我们需要搭建一个SpringCloud父工程,用来管理整体依赖。该父工程下有两个子工程,分别名为:
springcloud-eureka-server:
该工程为Eureka服务注册中心,用来注册springcloud应用。
springcloud-eureka-provider:
简单的springboot应用,该应用将会注册到Eureka。
让我们开始搭建父工程:
创建maven应用,删除多余目录只留下pom文件即可:
![7dfd09dd50a4e89f91067bdce31c2eac.png](https://i-blog.csdnimg.cn/blog_migrate/19b96333e5e7887d0dd097dc05742f13.jpeg)
添加子工程模块:
springcloud-eureka-serverspringcloud-eureka-provider
完成后如下图所示:
![3fca0eb2366cbaf37ae0d98e8b534dcb.png](https://i-blog.csdnimg.cn/blog_migrate/9f420b91cb9d6ea014bed016f6ecff0b.jpeg)
父工程pom依赖文件如下:
<?xml version="1.0" encoding="UTF-8"?>4.0.0com.jianyang.springcloud spring-cloud 1.0-SNAPSHOTpom1.8Greenwich.SR2org.springframework.boot spring-boot-starter-parent 2.1.6.RELEASEspringcloud-eureka-serverspringcloud-eureka-providerorg.springframework.boot spring-boot-starter-test testorg.springframework.cloud spring-cloud-dependencies ${spring-cloud.version}pomimportorg.springframework.boot spring-boot-maven-plugin
搭建注册中心springcloud-eureka-server
创建springboot项目,勾选依赖Eureka Server
![2d75bbb4fd063c3faaecec7476740639.png](https://i-blog.csdnimg.cn/blog_migrate/04db56a530bace586a44e125012556bb.jpeg)
在springboot启动类上加上注解:
@EnableEurekaServer
![2f9ebadf23db3aa3f4b2ba6af85aac7a.png](https://i-blog.csdnimg.cn/blog_migrate/03f3db4490bb6b2ba429e6fa722d6a3e.jpeg)
配置文件application.yml中添加如下配置:
server: port: 8081eureka: client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://localhost:8081/eureka/spring: application: name: springcloud-eurka-server
pom文件如下:
<?xml version="1.0" encoding="UTF-8"?>4.0.0jarcom.jianyang.springcloud spring-cloud 1.0-SNAPSHOTcom.jianyang.springcloud springcloud-eureka-server 0.0.1-SNAPSHOTspringcloud-eureka-serverspringcloud-eureka-server project for Spring Bootorg.springframework.cloud spring-cloud-starter-netflix-eureka-server
此时我们便可以启动注册中心:
![91cd7d5449c7a97028fc1f40cc21bb56.png](https://i-blog.csdnimg.cn/blog_migrate/577c4930240e9d9b8615a36a7e90d654.jpeg)
浏览器中输入地址:http://localhost:8081/
![2db1a77d2940fd665a8c79e7dd2d7e35.png](https://i-blog.csdnimg.cn/blog_migrate/94ab94ee8807c04f4515ee2c3644f719.jpeg)
可以看到注册中心已经成功启动,但还没有任何应用注册进来。
搭建服务提供方springcloud-eureka-provider
创建springboot项目,勾选依赖Spring Web Starter
![7f7bf76dac278626aa26b378fa64eca5.png](https://i-blog.csdnimg.cn/blog_migrate/95a709bff59a7cf80bc553e1bc49702b.jpeg)
Next and Next:
![2fb21393037f074512bc3051c63f73ab.png](https://i-blog.csdnimg.cn/blog_migrate/75cc29c54a406ed47fb40f5f3b5234fc.jpeg)
创建完成后,在springboot启动类上加上注解:
@EnableEurekaClient
同时需要添加client依赖:
org.springframework.cloud spring-cloud-starter-netflix-eureka-client
pom文件如下:
<?xml version="1.0" encoding="UTF-8"?>4.0.0jarcom.jianyang.springcloud spring-cloud 1.0-SNAPSHOTcom.jianyang.springcloud springcloud-eureka-provider 0.0.1-SNAPSHOTspringcloud-eureka-providerspringcloud-eureka-provider project for Spring Bootorg.springframework.boot spring-boot-starter org.springframework.cloud spring-cloud-starter-netflix-eureka-client org.springframework.boot spring-boot-starter-web
编写controller测试接口,方便后续调用测试:
![ddfc5e54b90c8d9a06b04e872ea20fc5.png](https://i-blog.csdnimg.cn/blog_migrate/cf9f03c2abda5f0dc4a6b5a732e67d63.jpeg)
配置文件application.yml中添加如下配置:
server: port: 8082eureka: client: serviceUrl: defaultZone: http://localhost:8081/eureka/spring: application: name: springcloud-eurka-provider
启动服务提供方:
![7f8319a3aadad919ff7f559cb3b7c476.png](https://i-blog.csdnimg.cn/blog_migrate/e7e37d08400693da42998bdd03dc321c.jpeg)
刷新浏览器地址:http://localhost:8081/
![1285cdbf0fb951d2b8d80e7c018851d5.png](https://i-blog.csdnimg.cn/blog_migrate/1643eda637e9c3fed41264e431519f30.jpeg)
我们可以看到spring-eurka-provider应用在eureka注册中心成功注册。
下一节我们将学习使用springcloud Feign调用服务提供者。
喜欢点个赞吧,谢谢!