SpringCloud组件:将服务提供者注册到Eureka集群
2018-10-05 16:55
615 查看
在之前章节SpringCloud组件:将微服务提供者注册到Eureka服务中心已经讲解了把服务注册到单个
Eureka Server节点上,既然我们在SpringCloud组件:Eureka高可用集群部署讲到了如何去构建
Eureka Server 集群的问题,那么我们该考虑下怎么将
服务注册到
Eureka Server集群上呢?
带着这个疑问来开始本章的内容。
本章目标
将
服务节点注册到
Eureka Server集群。
构建项目
使用
idea开发工具创建
SpringBoot项目,创建时选择集成依赖
Eureka Discovery、
Web等,
pom.xml配置文件如下所示:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <spring-cloud.version>Finchley.SR1</spring-cloud.version> </properties> <dependencies> <!--Web--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--Eureka Client--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
添加完成依赖后我们需要开始进行配置
Eureka Client相关信息。
启用Eureka Client
在入口类
XxxApplication上添加
@EnableDiscoveryClient注解用于启用
Eureka Client客户端的相关依赖配置,如下所示:
@SpringBootApplication @EnableDiscoveryClient public class SpringCloudEurekaHighProviderApplication { //... }
配置Eureka Client
打开
application.yml配置文件进行配置
Eureka相关参数信息,我们先看下具体的配置内容,如下所示:
# 服务名称 spring: application: name: hengboy-spring-cloud-eureka-high-provider # 端口号 server: port: 20000 # Eureka集群配置信息 eureka: client: service-url: defaultZone: http://node1:10001/eureka/,http://node2:10002/eureka/
主动将服务注册到Eureka集群
我们需要注意的是上面的
eureka.clinet.service-url.defaultZone参数内容,我们通过
,隔开配置了两个
Eureka Server地址,这两个地址则是SpringCloud组件:Eureka高可用集群部署章节提高的
Eureka Server集群地址。
如果
defaultZone以
,隔开配置了多个
Eureka Server地址,那么在启动
服务提供者时就会主动向配置的多个
Eureka Server地址进行
发送注册信息,这样也就注册到集群上。
运行测试
下面我们来运行测试看下效果,测试步骤如下所示:
- 启动
node1环境服务注册中心- 启动
node2环境服务注册中心- 启动本章项目
- 访问
node1管理界面http://node1:10001查看服务列表- 访问
node2管理界面http://node2:10002查看服务列表
注意:
node1以及node2的启动方式请查看SpringCloud组件:Eureka高可用集群部署
访问两个
服务注册中心管理界面你都会发现如下图所示:
服务节点
hengboy-spring-cloud-eureka-high为注册中心的名称,
hengboy-spring-cloud-eureka-high-provider为本章的
服务节点。
自动同步到Eureka集群
为什么说会自动同步到
Eureka集群呢?
因为有
eureka.client.fetch-registry这个参数,而且还是默认为true,这个参数配置了是否自动同步服务列表,也就是默认就会进行同步的操作。你就算将Eureka Client注册到http://node1:10001/eureka/注册中心,也会自动同步到http://node2:10002/eureka/。
总结
本章讲解了怎么通过
主动以及
自动同步的方式将
Eureka Client注册到
服务注册中心集群环境中,为了保证完整性,还是建议手动进行配置,自动同步也有不成功的情况存在。
源码位置
- SpringBoot配套源码地址:访问码云查看源码、访问GitHub查看源码
- SpringCloud配套源码地址(
本章源码在这
):访问码云查看源码,访问GitHub查看源码
有问题要问?
如果你有技术相关的问题想要咨询
恒宇少年,请去博客首页左侧导航栏,点击知识星球微信扫码加入我的星球。
与恒宇少年面对面
如果你喜欢
恒宇少年的相关文章,那么就去微信公众号(恒宇少年)关注我吧!!!
当然你也可以去 SpringCloud码云源码 项目底部扫描微信公众号二维码关注我,感谢阅读!!!
学习目录推荐
- SpringCloud相关系列文章访问:https://www.jianshu.com/p/64e4aaada96b
- SpringBoot相关系列文章请访问:http://www.jianshu.com/p/9a08417e4e84
- QueryDSL相关系列文章请访问:http://www.jianshu.com/p/99a5ec5c3bd5
- SpringDataJPA相关系列文章请访问:http://www.jianshu.com/p/615ed9c1fe84
开源信息
这段时间一直在编写开源的相关框架,致力于公司使用的框架升级以及开源计划,将公司使用到的
工具以及
插件进行升级重构并且开源。
- 代码生成器(Code-Builder)
code-builder
代码生成器根据你提供的模板文件(目前支持freemarker
)自动生成实体类,可以很大很有效的提高开发效率。
Gitee地址
:https://gitee.com/hengboy/code-builder
Github地址
:https://github.com/hengyuboy/code-builder - 持久化框架(MyBatis-Enhance)
mybatis-enhance
是一个对mybatis
框架的增强封装,提供一系列的内部方法来完成单表数据的操作,多表数据提供DSL
方式进行操作。
Gitee地址
:https://gitee.com/hengboy/mybatis-enhance
Github地址
:https://github.com/hengyuboy/mybatis-enhance - 自动分页插件
MyBatis-Pageable
是一款自动化分页的插件,基于MyBatis
内部的插件Interceptor
拦截器编写完成,拦截Executor.query
的两个重载方法计算出分页的信息以及根据配置的数据库Dialect
自动执行不同的查询语句完成总数量的统计。
Gitee地址
:https://gitee.com/hengboy/mybatis-pageable
相关文章推荐
- 四、Spring Cloud - Netflix(Eureka注册中心集群构建代码层面)
- Spring cloud系列四 Eureka 之概述和服务注册中心集群
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- (2-2)SpringCloud-服务注册到Eureka Server集群并消费
- 《Spring Cloud Netflix》-- 服务注册和服务发现-Eureka的服务认证和集群
- Spring Cloud Netflix Eureka组件服务注册及发现源码浅析
- 《Spring Cloud Netflix》-- 服务注册和服务发现-Eureka的服务认证和集群
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- Spring Cloud之Eureka注册中心及集群
- 服务注册和服务发现-Eureka的服务认证和集群--Spring Cloud Netflix
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- 三、SpringCloud之服务注册与发现组件--Eureka
- 微服务架构 SpringCloud(三)Eureka(注册中心集群篇)
- SpringCloud构建微服务入门架构(二)服务注册与发现Eureka集群搭建
- Spring Cloud Eureka——注册中心集群
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- 《Spring Cloud Netflix》-- 服务注册和服务发现-Eureka的服务认证和集群
- springcloud微服务三:Eureka服务治理之注册服务提供者及服务的发现和消费
- springcloud实战之3 高可用服务注册中心(eureka集群)