Spring Cloud 学习(三):Eureka服务注册、Eureka集群搭建、Eureka与 Zookeeper比较
文章目录
- 一、Eureka
- 1、新建子模块springcloud-eureka-7001并导入依赖
- 2、修改配置
- 3、创建启动类
- 4、访问 http://localhost:7001/
- 二、Eureka服务注册
- 1、在提供者添加eureka依赖
- 2、添加配置
- 3、在启动类开启eureka
- 4、测试
- 5、配置信息
- 三、Eureka集群
- 1、新建两个子模块
- 2、修改7001的配置并复制一份到7002
- 3、复制依赖
- 4、启动类
- 5、另外一个7003也是按7002的步骤
- 6、关联集群配置
- 7、提供者往集群发布
- 8、测试
- 四、CAP原则,Eureka与 Zookeeper比较
一、Eureka
https://mvnrepository.com/search?q=spring-cloud-starter+eureka
什么是Eureka?
1、新建子模块springcloud-eureka-7001并导入依赖
<dependencies>
<!-- eureka-server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
<!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
2、修改配置
server:
port: 7001
#Eureka配置
eureka:
instance:
hostname: localhost #Eureka服务端的实例名称
client:
register-with-eureka: false
#表示是否向eureka注册中心注册自己
fetch-registry: false #fetch-registry如果为false,则表示自己为注册中心
service-url: #监控页面~
defaultZone: http://${ eureka.instance.hostname}:${ server.port}/eureka/
3、创建启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaServer_7001 {
public static void main(String[] args) {
SpringApplication.run(EurekaServer_7001.class,args);
}
}
4、访问 http://localhost:7001/
二、Eureka服务注册
1、在提供者添加eureka依赖
2、添加配置
# eureka 配置
eureka:
client:
service-url:
defaultZone: http://localhost:7001/eureka/
instance:
instance-id: springcloud-provider-dept8001 # 修改eureka上的默认描述信息
3、在启动类开启eureka
@EnableEurekaClient //在服务启动后自动注册到Eureka中!
4、测试
依次启动 EurekaServer_7001、DeptProvider_8001
访问:http://localhost:7001/
说明已经将服务注册进来
5、配置信息
未配信息前
1)添加依赖:
<!-- 监控信息 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2)配置:
# info 配置
info:
app.name: xiaol-springcloud
company.name: blog.xiaol.com
3)重新依次启动 EurekaServer_7001、DeptProvider_8001
信息已变化
三、Eureka集群
为了模拟多台服务器,修改下本地地址映射
路径:
修改映射并保存:
1、新建两个子模块
2、修改7001的配置并复制一份到7002
先修改7001配置
再复制到7002的配置,然后修改:
3、复制依赖
4、启动类
5、另外一个7003也是按7002的步骤
6、关联集群配置
defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
7001:
7002:
7003:
7、提供者往集群发布
修改 springcloud-provider-dept-8001 的配置
# eureka 配置
eureka:
client:
service-url:
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
instance:
instance-id: springcloud-provider-dept8001 # 修改eureka上的默认描述信息
8、测试
依次启动
访问:http://eureka7001.com:7001/
访问:http://eureka7002.com:7002/
访问:http://eureka7003.com:7003/
可见,三个地址都能拿到资源。这样,即使三个其中的一个断开,其他两个也能继续使用。
四、CAP原则,Eureka与 Zookeeper比较
点我前往《SpringCloud专栏》
项目地址:关注公众号【小L星光】,回复【springcloud示例】即可获取。
还没有评论,来说两句吧...