spring cloud学习之三:服务治理

 

对服务治理的理解

服务治理是微服务的核心基础模块,他的作用是用来实现各个微服务实例的自动化注册与发现。

个人理解:在分布式系统中每个应用服务会分别部署到多台服务器上,也就会产生对于同一个接口的请求会有不同的服务器上(同一应用)的响应。对此,就需要对这些服务进行管理(服务注册、服务发现)。服务注册--每个应用以自身服务名作为一组来区分,组里包括该应用在哪些服务器上、IP、端口、版本号、通讯协议等信息。服务发现--服务间的调用不再是直接的指定IP:PORT/xxx的方式进行访问,而是通过之前的注册信息,服务内部进行查找并以某种轮询策略进行分配(那个服务器上的服务实例)访问;定期从服务端获取可用服务列表缓存到本地,当要访问某个服务时,从本地服务列表中进行查询(因此当Eureka宕掉之后其他服务能正常使用,但是不会有新挂接服务的访问信息)。这只是一种粗略的理解,希望能有帮助理解服务治理的概念。下面直接上构建过程。

 Spring Cloud Netflix 之 Euraka

 注:Spring Cloud Euraka,使用Netflix Euraka 来实现服务注册与发现,包含了服务端/客户端,并且都是Java语言进行编写的,所以Euraka主要适用于Java实现的分布式系统,或者是与jvm兼容的语言构建系统。但是由于Euraka服务端的服务治理机制提供了完备的RESTful API,所以也支持非Java语言构建的服务应用进行注册。而客户端部分流行开发平台以提供针对Euraka注册中心的客户端实现框架。

 服务注册中心 Euraka-Server

  1. 首先创建一个简单的spring boot工程:

spring cloud学习之三:服务治理_第1张图片

spring cloud学习之三:服务治理_第2张图片

 点击Next后

spring cloud学习之三:服务治理_第3张图片

 勾选web是创建一个标准的spring boot web 工程,要注意spring boot的版本号;后续会有专门的spring boot的学习文档。

spring cloud学习之三:服务治理_第4张图片

依赖配置pom.xml 



	4.0.0
	
		org.springframework.boot
		spring-boot-starter-parent
		1.5.19.RELEASE
		 
	
	com.xing
	eurakaone
	0.0.1-SNAPSHOT
	eurakaone
	Demo project for Spring Boot

	
		1.8
	

	
		
			org.springframework.boot
			spring-boot-starter-web
		

		
		
		
			org.springframework.boot
			spring-boot-starter-actuator
			1.5.19.RELEASE
		
		
		
		
			org.springframework.cloud
			spring-cloud-starter-eureka-server
			1.3.5.RELEASE
		

	

	
	
		
			
			
				org.springframework.cloud
				spring-cloud-dependencies
				Edgware.SR5
				pom
			

		
	


	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	


在启动类中添加注解: @EnableEurekaServer 是该工程作为服务注册中心启动。

spring cloud学习之三:服务治理_第5张图片

配置文件:添加配置

spring cloud学习之三:服务治理_第6张图片

 访问注册中心界面

spring cloud学习之三:服务治理_第7张图片

 

控制台--显示启动成功

spring cloud学习之三:服务治理_第8张图片

 服务发现--Euraka Client

创建一个基础spring boot工程同上,不同之处在于:

依赖配置pom.xml



	4.0.0
	
		org.springframework.boot
		spring-boot-starter-parent
		1.5.19.RELEASE
		 
	
	com.xing
	clientdemo
	0.0.1-SNAPSHOT
	demo
	Client Demo project for Spring Boot

	
		1.8
	

	
		
			org.springframework.boot
			spring-boot-starter-web
		
		
		
		
			org.springframework.boot
			spring-boot-starter-actuator
			1.5.19.RELEASE
		
		
		
		
			org.springframework.cloud
			spring-cloud-starter-eureka
			1.3.5.RELEASE
		


	

	
	
		
			
			
				org.springframework.cloud
				spring-cloud-dependencies
				Edgware.SR5
				pom
			
		
	


	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	


启动类添加注解:@EnableEurekaClient  是该工程可以在注册中心上注册被发现(该工程作为正常的业务工程进行开发)

spring cloud学习之三:服务治理_第9张图片

至此简单的服务注册中心与服务发现工程创建完成!

 

你可能感兴趣的:(spring,cloud)