Spring Cloud 的注册中心可以由 Eureka、Consul、Zookeeper、ETCD 等来实现,这里推荐使用 Spring Cloud Eureka 来实现注册中心,它基于 Netflix 的 Eureka 做了二次封装,完成分布式服务中服务治理的功能,微服务系统中的服务注册与发现都通过这个注册中心来进行管理。

今天栈长就来分享一个 Eureka 注册中心玩法,从 0 到分布式集群一步到位,单机版的咱就不玩了,没意义。

本文基于最新的 Spring Cloud Greenwich.SR1 以及 Spring Boot 2.1.3 版本进行分享。

快速构建一个 Eureka Server 项目

打开 Spring 的快速构建网址,如下图所示,选择对应的参数,最后选择 Eureka Server 依赖,生成项目示例代码即可。

https://start.spring.io/

栈长这里是生成了一个 Maven 示例项目。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.3.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>cn.javastack</groupId><artifactId>spring-cloud--eureka-server</artifactId><version>0.0.1-SNAPSHOT</version><name>spring-cloud--eureka-server</name><description>Demo project for Spring Cloud Eureka Server</description><properties><java.version>1.8</java.version><spring-cloud.version>Greenwich.SR1</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

主要是加入了 Eureka Server 和 Spring Test 依赖包,还有 Spring Boot 和 Spring Cloud 的基础依赖。

Maven就不多介绍了,不熟悉的,请关注Java技术栈微信公众号,在后台回复:Maven,即可获取栈长整理的一系列 Maven 系列教程文章。

开启 Eureka Server 功能

@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {public static void main(String[] args) {SpringApplication.run(EurekaServerApplication.class, args);}}

在启动类上加入 @EnableEurekaServer 注解,@EnableEurekaServer注解即开启注册中心服务器的功能。

Spring Boot就不多介绍了,不熟悉的,请关注Java技术栈微信公众号,在后台回复:Boot,即可获取栈长整理的一系列 Spring Boot 系列教程文章。

添加 Eureka Server 配置

在 application.yml 中加入如下配置:

spring:application:name: register-centereureka:instance:prefer-ip-address: falseinstance-id: ${spring.cloud.client.ip-address}:${server.port}lease-expiration-duration-in-seconds: 30lease-renewal-interval-in-seconds: 5server:enable-self-preservation: trueeviction-interval-timer-in-ms: 5000client:register-with-eureka: truefetch-registry: trueserviceUrl:defaultZone: http://eureka1:8761/eureka/, http://eureka2:8762/eureka/logging.level.com.netflix:eureka: OFFdiscovery: OFF---
spring:profiles: rc1server:port: 8761eureka.instance.hostname: eureka1---
spring:profiles: rc2server:port: 8762eureka.instance.hostname: eureka2

配置这里不细讲,下篇文章栈长单独分享这些参数的含义,关注微信公众号:Java技术栈,获取第一时间推送。

这里做了两台注册中心的高可用配置rc1,rc2,也可以做多台,既然是高可用,每个注册中心都向别的注册中心注册自己。

注意不要用Localhost

如上图所示,如果大家在实战中遇到集群不可用,出现在 unavailable-replicas 里面时,说明是你配置的问题。

如果 defaultZone 用了 localhost,prefer-ip-address 设置的是 false,则集群不行,不能用 localhost,要配置 hosts,并代替 localhost。

127.0.0.1 localhost eureka1 eureka2

启动 Eureka 注册中心

这样两个注册心的 Eureka Server 就搭好了,启动的时候使用不同的 Profile 来指定不同的端口。

spring-boot:run -Dspring-boot.run.profiles=rc1
spring-boot:run -Dspring-boot.run.profiles=rc2

按上方面命令启动两个 Eureka Server,然后再来验证一下注册情况,分别打开两个 Eureka Server 控制台页面。

http://localhost:8761/ http://localhost:8762/

我们可以看到两个注册的注册中心实例了。

好了,今天的分享就到这里了,近期会分享更多 Eureka 高级玩法,栈长正在拼命撰写中……关注Java技术栈微信公众号可获取及时推送。在公众号后台回复:cloud,获取栈长整理的更多的 Spring Cloud 教程,都是实战干货,以下仅为部分预览。

  • Spring Cloud 最新 Finchley 版本踩坑
  • Spring Cloud 多版本如何选择
  • Spring Cloud 是什么,和 Dubbo 对比
  • Spring Cloud 配置中心高可用搭建
  • Spring Cloud Eureka 自我保护机制
  • ……

大家有什么问题,也可以点击这个链接加入Java技术栈知识星球,和大家共同讨论,也可以向栈长提问,快 2000 人已加入。

本文原创首发于微信公众号:Java技术栈(id:javastack),关注公众号在后台回复 "cloud" 可获取更多 Spring Cloud 教程,转载请原样保留本信息。

spring cloud搭建_Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!相关推荐

  1. 四、Eureka注册中心集群配置

    目录 需要两个eureka server项目,之前已经有一个springcloud-eureka 1.在springcloud项目下新建一个聚合项目springcloud-eureka2 2.修改sp ...

  2. Consul 注册中心集群搭建

    简介 之前公司一直用的是Eureka 1.X版本,但是自从SpringBoot升级到2.X版本后Eureka团队对外宣布不再开源且Eureka 2.X版本不在维护,这就一下子懵逼了,开始寻找Eurek ...

  3. Nacos注册中心集群搭建和AP/CP模式切换

    Nacos集群启动后通过选举推出Matser主节点和Slave从节点.但是Nacos 集群默认是AP模式,即虽然有主从节点之分,但是在恢复模式选举过程中仍可对外提供服务,不影响新服务注册.因节点宕机而 ...

  4. EurekaServer高可用的注册中心集群搭建

    转载请注明出处:https://www.cnblogs.com/mahongchao/p/9773586.html 1.创建springboot工程,工程目录如下: 2.添加gradle依赖 depe ...

  5. springCloud - 第11篇 - Eureka 注册中心集群的实现

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. eureka 作为整个微服务项目的注册中心,到目前为止,在我的系统中一直是单节点的,这样并不能作到高 ...

  6. Eureka注册中心集群的构建

    eureka1和eureka2 pom文件相同 <?xml version="1.0" encoding="UTF-8"?> <project ...

  7. SpringCloud注册中心集群化及如何抗住大型系统的高并发访问

    一.场景引入 本人所在的项目由于直接面向消费者,迭代周期迅速,所以服务端框架一直采用Springboot+dubbo的组合模式,每个服务由service模块+web模块构成,service模块通过公司 ...

  8. 环境搭建:Windows系统下Nacos集群搭建

    环境搭建:Windows系统下Nacos集群搭建 一.环境准备 名称 版本 下载地址 nacos NACOS 1.2.0 下载地址,提取码:5555 MySQL mysql Ver 14.14 Dis ...

  9. (一)Nacos注册中心集群环境搭建

    目录 版本说明 组件版本关系 Nacos注册中心架构 Nacos核心功能 Nacos 注册中心搭建 Nacos部署 单机搭建 集群搭建 集群模式Nginx配置 附录: prometheus+grafa ...

最新文章

  1. 《Android App开发入门:使用Android Studio 2.X开发环境》——导读
  2. python类继承可以有多个父类_Python3基础 多重继承 一个子类继承于多个父类
  3. 用c语言设计一个统计字符个数的程序,「第6篇」「C程序上机题」「统计输入的字符个数思路与实现」...
  4. “智慧停车+智慧交通”提高市民出行效率和体验
  5. LockSupport HotSpot里park/unpark的实现
  6. 【leetcode】538. Convert BST to Greater Tree
  7. java没有类_为什么Java中没有类的第一类对象?
  8. Ionicons - Ionic 出品的免费开源、高性能图标库,适用于 web / APP / 桌面应用
  9. python处理xps文件,从XPS文档中提取文本
  10. SpringBoot统一返回结果
  11. java的nexttoken_int nextToken()
  12. php又拍云,申请又拍云云存储教程(PHP V3.80+)
  13. 安庆集团-冲刺日志(第七天)
  14. 示波器中的Trigger
  15. entity、bo、vo、po、dto、pojo如何理解和区分?
  16. 数组(一维数组,二维数组)
  17. 转帖:谁动了它们的基因?
  18. 统计专业人数。本题要求实现一个函数,统计学生学号链表中专业为计算机的学生人数。
  19. WEB前端 -- 简单选择器
  20. tushare获得沪深300和中证500的股票

热门文章

  1. Matlab报错警告: 启动 Connector 时出现问题及解决方案
  2. 2019.2.2牛客寒假算法基础集训营
  3. 20145228 《信息安全系统设计基础》第九周学习总结 (2)
  4. fenby C语言 P11
  5. 整合TextBox与Label 创建新控件--EFLabelText
  6. [转载] python执行shell命令的几种方法
  7. [转载] Python学习笔记 String类型常用方法
  8. python——redis
  9. CF1110G Tree-Tac-Toe 博弈论、构造
  10. 洛谷——P4053 [JSOI2007]建筑抢修