Spring Cloud之——Eureka(服务注册与发现)

简介

Eureka服务注册中心是netflix开源组织提供的一个服务高可用的解决方案,在前端时间一直在疯传的2.0开源流产的问题,其实并不影响我们的使用,netflix只不过是不再维护2.0分支的开源代码,所以做出了免责声明,不过对于我们使用者来说确实比较担心这一点,还有不少人更换服务注册中心,比如:zookeeperconsul
当然对于Eureka 2.0 流产这件事情就当做一场闹剧来对待吧,因为SpringCloud.Finchley.SR1版本依赖的Eureka1.9.3,根本不需要考虑到这一点了。
我们还是来关心我们的分布式微服务架构系统该怎么去设计。

Eureka Server

构建项目

跟我们之前构建项目一样, 使用idea工具直接创建一个新的SpringBoot项目,在选择依赖的界面勾选Cloud Discovert -> Eureka Server依赖,创建完成后的pom.xml配置文件内容如下:

		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

我们在创建新的项目时,如果选择了相关SpringCloud的依赖,则会自动在pom.xml配置文件内添加SpringCloud最新稳定版本依赖配置。
spring-cloud-dependencies这个依赖是SpringCloud内所需要依赖的版本维护,在maven项目内如果被<dependencyManagement>内修饰的<dependency>,子项目或者本项目在使用时可以不用设置版本号,默认使用<dependencyManagement><dependency>内设置的版本信息。
正因如此,这也是为什么我们添加了spring-cloud-dependencies依赖后,在使用相关SpringCloud插件时可以不用添加version标签设置导入指定版本的依赖。

Eureka Server的配置

添加spring-cloud-starter-netflix-eureka-server依赖后,我们就来看看怎么开启Eureka Server服务。开启Eureka的注册中心服务端比较简单,只需要修改注意两个地方。

  • 第一个地方是在主启动类上添加Eureka Server的注解@EnableEurekaServer,如下所示:
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }

}
  • 第二个地方是application.yml/application.properties文件内添加配置基本信息,如下所示:
server.port=8761

#实例的主机名称
eureka.instance.hostname=localhost
#不向注册中心注册自己(Eureka即可以是服务端也可以客户端)
eureka.client.register-with-eureka=false
#表示自己就是注册中心,不需要维护服务实例,只需要检索服务
eureka.client.fetch-registry=false
#设置与Eureka Server交互地址查询和注册服务部署需要依赖的地址
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

运行测试

启动应用程序,在浏览器访问http://localhost:8761即可访问到Eureka Server管理界面
在这里插入图片描述

对于界面我们可以看到一些Eureka Server的健康数据以及基本信息,比如:

  • server-uptime:已经启动的耗时

  • current-memory-usage:当前占用的内存总量

  • Instances currently registered with Eureka:注册到该中心的服务列表

  • ipAddr:当前Eureka Server的IP地址,如果没有配置eureka.instance.ip-address那么这里使用默认的IP地址。

Eureka Client

构建项目

跟我们之前构建项目一样, 使用idea工具直接创建一个新的SpringBoot项目,在选择依赖的界面勾选Cloud Discovert -> Eureka Client依赖,创建完成后的pom.xml配置文件内容如下:

		<dependency>
        	<groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

Eureka Client的配置

添加spring-cloud-starter-netflix-eureka-client依赖后,我们就来看看怎么开启Eureka Client服务。开启Eureka的注册中心服务端比较简单,只需要修改注意两个地方。

  • 第一个地方是在主启动类上添加Eureka Client的注解@EnableEurekaClient,如下所示:
@SpringBootApplication
@EnableEurekaClient
public class EurekaClientApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaClientApplication.class, args);
    }

}
  • 第二个地方是application.yml/application.properties文件内添加配置基本信息,如下所示:
server.port=8760

spring.application.name=micro-weather-eureka-client

#客户端注册进eureka
eureka.client.service-url.defaultZone=http://localhost:8761/eureka
#自定义服务名称信息
eureka.instance.instance-id=eureka-client
#访问路径可以显示IP
eureka.instance.prefer-ip-address=true

运行测试

启动应用程序,在浏览器访问http://localhost:8761即可访问到Eureka Server管理界面,你会看到服务已经注册好了!!!

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值