SpringCloud各组件浅尝之注册中心
文章目录
SpringCloud各组件作用及使用
Eureka的作用:
在微服务架构中往往会有一个注册中心,每个微服务都会向注册中心去注册自己的地址及端口信息,注册中心维护着服务名称与服务实例的对应关系。每个微服务都会定时从注册中心获取服务列表,同时汇报自己的运行情况,这样当有的服务需要调用其他服务时,就可以从自己获取到的服务列表中获取实例地址进行调用,Eureka实现了这套服务注册与发现机制。
一、搭建Eureka注册中心
- 创建一个eureka-server模块,并使用Spring Initializer初始化一个SpringBoot项目
- 选择你需要的SpringCloud组件进行创建
- 创建完成后会发现pom.xml文件中已经有了eureka-server的依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency>
- 在启动类上添加@EnableEurekaServer注解来启用Euerka注册中心功能
@EnableEurekaServer@SpringBootApplicationpublic class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); }}
- 在配置文件application.yml中添加Eureka注册中心的配置
server: port: 8001 #指定运行端口spring: application: name: eureka-server #指定服务名称eureka: instance: hostname: localhost #指定主机地址 client: fetch-registry: false #指定是否要从注册中心获取服务(注册中心不需要开启) register-with-eureka: false #指定是否要注册到注册中心(注册中心不需要开启) server: enable-self-preservation: false #关闭保护模式
- 运行代码,访问localhost:8001,可以看到如下Eureka界面。
二、搭建Eureka客户端
- 新建一个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>
- 在启动类上添加@EnableDiscoveryClient注解表明是一个Eureka客户端
@EnableDiscoveryClient@SpringBootApplicationpublic class EurekaClientApplication { public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.class, args); }}
- 在配置文件application.yml中添加Eureka客户端的配置
server: port: 8101 #运行端口号spring: application: name: eureka-client #服务名称eureka: client: register-with-eureka: true #注册到Eureka的注册中心 fetch-registry: true #获取注册实例列表 service-url: defaultZone: http://localhost:8001/eureka/ #配置注册中心地址
- 运行后查看注册中心http://localhost:8001/发现Eureka客户端已经成功注册
开发者涨薪指南
48位大咖的思考法则、工作方式、逻辑体系jcg路由器知识网