赞
踩
经过上篇文章(SpringCloud入门探索)的讲解相信大家对SpringCloud有了大概的认识,今天就为大家讲解SpringCloud中的一个关键组件Eureka,也是所有服务之间相互调用API的基础。
Eureka:又分为Eureka客户端和Eureka服务器,Eureka服务器:服务注册中心,Eureka客户端:需要注册的服务。说的通俗易懂点Eureka服务器就好比CSDN网站,Eureka客户端就好比一个一个的用户
很多人会有疑问问什么要使用Eureka 此处联想黑人问号?
就拿上面的例子来说(前提:CSDN我们都在线,而且你也给了我你的住址信息),如果不使用CSDN我必须根据你提供的信息然后跋山涉水的才能找到你本人,而且如果突然哪天你搬家了然而并没有告诉我你的住址,然后就懵逼了...。有了CSDN不管你的信息怎么改变然后我就可以立马找到你和你进行发交流,询问你我想要的东西。
用正式的语言解释:我们都在Eureka服务器注册服务一个名称,然后通过服务名称找到需要的服务,而不是通过固定的Ip地址进行访问调用服务。使用Ip地址缺点就是如果更换Ip岂不是到一个地方就要修改配置文件才能进行访问,如果一两个还好如果几十个呢?
Ok,现在正式开始搭建Eureka服务
1、首先在pom.xml文件中导入依赖
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-starter-eureka-server</artifactId>
- <version>1.4.4.RELEASE</version>
- </dependency>
2、在Eureka服务服务启动类上加
@EnableEurekaServer
3、yml文件加入配置 注:
fetch-registry: false
register-with-eureka: false
必须设置否则会启动服务报错,fetch-registry
是否检索服务,register-with-eureka:将自己作为一个客户端
- server:
- port: 8761
- eureka:
- serviceUrl:
- #defaultZone: http://user:admin@localhost:8761/eureka
- defaultZone: http://localhost:8761/eureka
- client:
- fetch-registry: false
- register-with-eureka: false #eureka 既是服务者也是提供者 将自己作为一个客户端
- spring:
- application:
- name: microservice-discovery-eureka
4、将微服务注册到Eureka注册中心,Eureka客户端(因为使用了parent Pom文件所以这里没有选择版本)
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
- </dependency>
5、在Eureka服务服务启动类上加入注解
@EnableDiscoveryClient //或者@EnableEurekaClient
6、微服务yml文件增加配置
- eureka:
- client:
- serviceUrl:
- defaultZone: http://localhost:8761/eureka
- instance:
- instance-id: ${spring.application.name}:${spring.application.instance_id:${server.port}}}
- prefer-ip-address: true
defaultZone:默认注册EurekaServer地址
instance-id :从Environment
获取的默认应用程序名称(服务ID),虚拟主机和非安全端口分别为${spring.application.name}
,${spring.application.name}
和${server.port}
prefer-ip-address:显示ip地址
GitHub地址:https://github.com/mackjie/microservice-spring-cloud,请首先按照ReadMe步骤进行
因为里面已经结合了RabbitMQ,所以需要先安装RabbitMQ,数据库使用的是Mysql (否则回启动报错)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。