Eureka 使用详解

Eureka 简介

看着这个图标,就感觉到了Spring与Eureka之间浓浓的基情。
在这里插入图片描述
Spring Cloud Eureka 是Spring对Netflix公司的Eureka的二次封装的产品,它实现了服务治理的功能,Spring Cloud Eureka提供了服务端与客户端,服务端即是Eureka服务注册中心,客户端完成微服务向Eureka服务的注册与发现。

微服务

在说微服务之前,先讲讲项目的功能拆分问题。
功能拆分对我们来说并不陌生,曾记否刚入坑编程时的那段光辉岁月?你小心翼翼地将一大坨代码按功能切分成几小坨,封装在不同的函数库里调用。那时是不是感觉自己离大神只有一步之遥?
后来,接触到代理设计模式,发现将功能切分成小模块,并不能很好解决功能代码与业务处理之间的耦合问题。于是代理设计模式和面向切面编程来到你面前,尝试几番发现这玩意用的还挺爽,瞬间那种发自骨髓的自豪感和成就感再一次让你感觉离大神真的更近了一步!
再后来,发现如果项目变的特别庞大,单体项目问题成为你的眼中钉肉中刺,然后你就想是不是可以把整个项目纵向拆分成若干模块,每个模块该分层分层,该IOC就IOC,该AOP就AOP,还可以在一个或不同的服务器独立运行,然后模块之前通过接口进行通信让整个系统在逻辑上构成一个整体,这样无论是负载均衡还是解决功能强耦合问题都是一个不错的选择。这样的思路就是微服务

Eureka服务注册中心搭建

第一步 创建骨架

创建Maven项目,添加相关依赖:

Spring 和 Eurekea是对好 “基友”,所以导入SpingBoot是一个基本前提:

   
   
        org.springframework.boot
        spring-boot-starter-parent
        1.5.9.RELEASE
    

而Eurekea是Spring Cloud微服务框架的一个组件,所以我们还需要导入SpringCloud Edgware.RELEASE版本相关依赖,可以理解为Edgware.RELEASE版本中包含了众多Eureka相关的依赖:

 
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Edgware.RELEASE
                pom
                import
            
        
    

最后,你要开发服务端还是客户端,人家也不知道,所以没有包含在Edgware.RELEASE中,所以需要最终导入一个服务端依赖,当然如果开发客户端,这里就是客户端依赖:

  
    
        
            org.springframework.cloud
            spring-cloud-starter-eureka-server
        
    

最终的POM配置,大概就是这样的:
Eureka 使用详解_第1张图片

第二步 创建核心配置文件

在resources目录,创建application.properties文件,配置如下内容:

#端口配置
server.port=8761

#服务名称
spring.application.name=euraka-server
#开启IP优先
eureka.instance.prefer-ip-address=true
#关闭注册
eureka.client.register-with-eureka=false
#关闭抓取
eureka.client.fetch-registry=false
#注册地址
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/

如图:
Eureka 使用详解_第2张图片
这里面每一项都有注释,这不展开细讲了。

第三步 创建启动类

在启动类上,首先配置SpringBoot注解(@SpringBootApplication)和开启Eurekea服务端注解(@EnableEurekaClient)

如图:
Eureka 使用详解_第3张图片
加入启动代码:
Eureka 使用详解_第4张图片
看到这个输出,代表启动成功:
Eureka 使用详解_第5张图片
访问:http://localhost:8761/,成功!
Eureka 使用详解_第6张图片
之后,这里将会显示注册的微服务客户端,目前还没有:
Eureka 使用详解_第7张图片

Eureka客户端微服务注册与发现

配置客户端,和服务端大体一致,唯一不一样的地方有以下几点:

1.最终依赖的不同,服务端是server,客户端是spring-cloud-starter-eureka:
Eureka 使用详解_第8张图片

	
        
            org.springframework.cloud
            spring-cloud-starter-eureka
        
    

2.配置文件的几处不同
Eureka 使用详解_第9张图片

#端口配置
server.port=6661

#客户端名称
spring.application.name=euraka-client1
#开启IP优先
eureka.instance.prefer-ip-address=true
#开启注册
eureka.client.register-with-eureka=true
#开启抓取
eureka.client.fetch-registry=true
#注册地址
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/

大概看一眼就明白,不过多解释。

3.启动类将启动服务器的注解改成启用客户端:@EnableEurekaClient
Eureka 使用详解_第10张图片
启动之后,刷新注册中心:
Eureka 使用详解_第11张图片
这样就实现了微服务客户端的注册与发现。

到此,Eureka的基本使用就介绍完毕了,由于时间关系,有些内容没有展开细讲,欢迎大家留言。

你可能感兴趣的:(互联网)