告诉自己:决定做不做一件长长的事,考虑下是否对三五年的你有影响
本文提纲
1. Eureka 服务治理 1.1 什么是 Eureka 1.2 Eureka 集群架构 2. 运行 Eureka 工程 springcloud-eureka-server 3. 详解 Eureka 工程 springcloud-eureka-server
「Spring Cloud Eureka 入门系列」
一、Eureka 服务治理
1.1 什么是 Eureka Eureka,这里是 Spring Cloud Eureka 的简称,是 Spring Cloud Netflix 组件之一。Spring Cloud Netflix 中核心的组件包括了服务治理(Eureka),服务容断(Hystrix),路由(Zuul)和客户端负载均衡(Ribbon)。在系列第三篇,服务消费者讲解会涉及到 Ribbon 的使用。 回到 Spring Cloud Eureka,是基于 Netflix Eureka (Netflix 是 Java 实现的开源软件)。服务治理(Eureka)包括服务注册、服务发现和服务检测监控等,自然本文介绍下 Eureka 作为服务注册中心。 1.2 Eureka 架构 Eureka 作为服务治理,必然满足下面几点: - 服务本身不存在单点故障, - 支持集群,即高可用性 - 服务与服务之间通过服务注册中心找到彼此实例 作为服务端(即服务注册中心),包括 - 管理服务实例 - 提供服务注册或下线 - 提供服务发现 - 提供服务注册表至两类客户端(即服务提供者和消费者) 作为客户端(即服务提供者和消费者),包括 - 连接服务注册中心 - 向服务注册中心注册或者下线服务实例 - 向服务注册中心或服务注册缓存列表查询服务 Eureka 集群架构如图所示:
二、运行工程
运行 Eureka 工程 springcloud-eureka-server 运行环境:JDK 7 或 8,Maven 3.0+ 技术栈:Spring Cloud Dalston.SR1、 spring-cloud-netflix 1.3.1、Spring Boot 1.5.4 1. git clone 下载工程 springcloud-learning-example 项目地址见 GitHub - https://github.com/JeffLi1993/springcloud-learning-example:
2. Maven 编译安装这个工程:
3. 运行 springcloud-eureka-server Eureka 工程 右键 Main 函数 Run Eureka Server 启动类 EurekaServerApplication,启动服务注册中心工程。 EurekaServerApplication 类地址:/springcloud-learning-example/springcloud-eureka-sample/springcloud-eureka-server/src/main/java/org/spring/springboot/EurekaServerApplication.java 控制台 Console 看到这类信息,代表启动成功:
4. 访问 Eureka 注册中心可视化界面 打开浏览器,访问 http://localhost:8888/ ,如图所示
可以看到主体信息包括: - 系统状态:环境、运行时间、更新时间等 - 注册信息:服务名、服务地址、服务状态 - 基本信息:环境、内存、副本信息 - 实例信息:IP、端口
三、工程代码详解
详解 Eureka 工程 springcloud-eureka-server 1.springcloud-eureka-server 工程目录结构
EurekaServerApplication.java Eureka Server 启动类 application.yml 配置文件 2. pom.xml 配置
使用的依赖是 - spring-cloud-netflix 1.3.1 是 Spring Cloud Dalston.SR1 版本。 - spring-cloud-starter-eureka-server Eureka Server 模块依赖 上面提到的客户端负载均衡 Ribbon ,可以依赖树中看出 spring-cloud-starter-eureka-server 依赖了 Ribbon 相关的库。因为一般 eureka 本身作为服务自注册实现高可用,也可以作为客户端调用其他服务。 3. application.yml 配置
application.property,可以看下面的配置解释: - server.port 设置工程服务端口 - eureka.instance.hostname Eureka 实例主机名 - eureka.client.registerWithEureka 是否向 Eureka 注册服务。服务注册中心服务,没有作为集群,所以不需要自注册,设置为 false - eureka.client.fetchRegistry 是否检索服务。该应用为服务注册中心,职责为注册和发现服务,无需检索服务,设置为 false - eureka.server.waitTimeInMsWhenSyncEmpty 设置同步为空时的等待时间。默认 5 * MINUTES 4.注册中心应用启动类
@EnableEurekaServer 标志该应用作为 Eureka Server ,并会自动化读取相关配置。 四、小结 此小章节介绍了如何 Eureka 作为服务注册中心 Server,下一小结讲下 服务提供者详解 具体是如何向服务注册中心注册自己的。系列目录如下: Spring Cloud Eureka 入门 (一)服务注册中心详解 Spring Cloud Eureka 入门 (二)服务提供者详解 Spring Cloud Eureka 入门 (三)服务消费者详解
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/17719.html