竹笋

注册

 

发新话题 回复该主题

SpringCloud注册中心Eurek [复制链接]

1#

1.SpringCloudNetflix注册中心Eureka入门介绍

Eureka是SpingCloudNetflix的核心组件,在SpringCloud构架中的作用是实现服务的注册和发现,今天主要介绍Eureka注册中心、客户端搭建。

2.Eureka简介

EurekaClient和EurekaServer是Eureka组件中的两个重要角色,其构架图如下:

从图中我们发现:

Erueka-Server:用于发现和注册应用服务Application-Service:服务的提供者,嵌套Eureka-Client,向Eureka-Server注册自身服务Application-Client:服务的消费者,嵌套Eureka-Client,从Eureka-Server获取服务列表MakeRemoteCall:表示远程调用3.注册中心简介

注册中心是微服务构架的通信录,记录服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就到这里找到服务的地址,进行调用。注册中心一般有三种角色,他们之间相互交互,图如下:

ServiceProvider:服务提供者(或Servr)。启动时将自己的IP等信息注册到注册中心ServiceConsumer:服务消费者(或Client)。从注册中心获取提供者的信息Registy:注册中心4.代码实现

我们介绍如何搭建一个Eureka注册中心,具体步骤如下:

1.使用spring-cloud-netflix-eureka-server依赖,搭建Eureka注册中心eureka-registry。2.搭建一个服务提供者eureka-provider,注册到注册中心3.搭建一个消费者eureka-consumer,从注册中心获取eureka-provider的服务列表,现在示例,进行Http远程调用。4.1搭建注册中心eureka-registry

创建eureka-registry项目,作为注册中心

4.1.1使用IDEA创建SpringCloud

创建SpringCloud就是创建SpingBoot相似,在创建Eureka-registry项目时,需要选择组件如图:

4.1.2引入依赖

Eureak-registry项目主要依赖了EurekaServer相关依赖,pom.xml文件如下:

propertiesjava.version1.8/java.versionspring-cloud.version.0.1/spring-cloud.version/propertiesdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependenciesdependencyManagementdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement

通过spring-cloud-starter-netflix-eureka-server包,引入EurekaServer依赖,实现将Eureka作为注册中心。

4.1.3application.yml配置文件

创建appliaction.yml,用于添加Eureka相关配置

server:port:spring:application:name:erueka-registryeureka:client:register-with-eurekaalse#不注册到Eureka-Server,默认为truefetch-registryalse#不从Eureka-Server获取注册表,默认为true

server.port:设置项目启动端口eureka.client:eureka配置项EurekaServer启动时会启动一个EurekaClient客户端,用于Eureka-Server集群之间的相互请求,因为我们现在搭建的是单节点Eureka-Server,所以register-with-eureka和fetch-registry配置项为false,不需要相互之间进行注册。4.1.4EurekaRegistryApplication

在EurekaRegistryApplication类上添加

EnableEurekaServer(声明其为Eureka-Server服务),将其配置为Eureka注册中心启动类:

EnableEurekaServer

SpringBootApplicationpublicclassEruekaRegistryApplication{publicstaticvoidmain(String[]args){SpringApplication.run(EruekaRegistryApplication.class,args);}}

4.1.5测试

通过启动EurekaRegistryApplication类启动注册中心,使用浏览前访问

分享 转发
TOP
发新话题 回复该主题