SpringCloud学习(三)——使用Consul或者Zookeeper替换Eureka作为分布式注册中心

一、使用Consul来替换Eureka

1.Consul简介

Consul下载地址:连接

Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发

优点:基于 raft 协议比较简洁,支持健康检查,同时支持 HTTP 和 DNS 协议,支持跨数据中心的 WAN 集群。

2.Consul环境搭建步骤

(1)下载window版,解压得到一个可执行文件。 设置环境变量,直接在cmd里可直接使用consul命令,在path后面添加consul所在目录例如D:\soft\consul_1.1.0_windows_amd64

(2)启动consul命令consul agent -dev -ui -node=cy

-dev开发服务器模式启动,-node结点名为cy,-ui可以用界面访问,默认能访问

(3)测试访问地址:http://localhost:8500 

(4)Consul客户端依赖


		org.springframework.boot
		spring-boot-starter-parent
		2.0.1.RELEASE
	
	
	
		
			
				org.springframework.cloud
				spring-cloud-dependencies
				Finchley.M7
				pom
				import
			
		
	
	
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
		
			org.springframework.cloud
			spring-cloud-starter-consul-discovery
		
	
	
	
		
			spring-milestones
			Spring Milestones
			https://repo.spring.io/libs-milestone
			
				false
			
		
	

(5)客户端配置文件

###eureka 服务端口号
server:
  port: 8502
spring:
  application:
    name: consul-order
####consul注册中心地址
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        hostname: ###ip地址

(6)启动类添注解

@EnableDiscoveryClient :开启其他注册中心 比如consul、zookeeper

@EnableDiscoveryClient 与@EnableEurekaClient区别:

@EnableDiscoveryClient注解是基于spring-cloud-commons依赖,并且在classpath中实现,适合于consul、zookeeper注册中心;@EnableEurekaClient注解是基于spring-cloud-netflix依赖,只能为eureka作用。

二、使用Zookeeper来替换Eureka

1.Zookeeper简介

Zookeeper是一个分布式协调工具,可以实现服务注册与发现、注册中心、消息中间件、分布式配置中心等。

2.搭建步骤

(1)安装好后(百度教程)启动服务器

(2)添加依赖


	
		org.springframework.boot
		spring-boot-starter-parent
		2.0.1.RELEASE
	
	
	
		
			
				org.springframework.cloud
				spring-cloud-dependencies
				Finchley.M7
				pom
				import
			
		
	
	
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
		
			org.springframework.cloud
			spring-cloud-starter-zookeeper-discovery
		

	
	
	
		
			spring-milestones
			Spring Milestones
			https://repo.spring.io/libs-milestone
			
				false
			
		
	

(3)假设有两个服务分别是会员服务和订单服务,分别配置俩服务的 application.yml

会员:

###订单服务的端口号
server:
  port: 8002
###服务别名----服务注册到注册中心名称 
spring:
  application:
    name: zk-member
  cloud:
    zookeeper:
      connect-string: 127.0.0.1:2181

订单:

###订单服务的端口号
server:
  port: 8003
###服务别名----服务注册到注册中心名称 
spring:
  application:
    name: zk-order
  cloud:
    zookeeper:
      connect-string: 127.0.0.1:2181

 启动zk-member服务和zk-order服务,可以发现在Zk服务器端上有对应的节点信息

你可能感兴趣的:(SpringCloud)