系列文章(更新ing):

「 从0到1学习微服务SpringCloud 」01 一起来学呀!

Spring Cloud Eureka

  • 基于Netflix Eureka做了二次封装(Spring Cloud Eureka并不是从零开始做出来的,而是对Netflix Eureka做了二次封装)

  • 两个组件组成

  • Eureka Server:Eureka服务器,注册中心

  • Eureka Client:Eureka客户端,各个微服务作为客户端,向Eureka服务器进行注册

Eureka Server的使用

1.使用IDE快速新建Eureka Server项目

2.启动类加上@EnableEurekaServer注解,说明自己是Eureka服务器

3.Eureka配置

server:
port: 8761
eureka:
client:
#表示是否将自己注册到Eureka Server, 默认为true
#由于当前应用就是Eureka Server, 因此设为 false
register-with-eureka: false
#表示是否从Eureka Server获取注册信息,默认为true。
#如果这是一个单点的 Eureka Server,不需要同步其他节点的数据,可以设为false。
fetch-registry: false
#注册中心地址
service-url:
defaultZone: http://localhost:8761/eureka/
spring:
application:
#服务名称
name: eureka-server

注意:

这两个配置需要设置为false,否则会报一下错误

register-with-eureka: falsefetch-registry: false

如下图:

4.打开图形界面,http://localhost:8761/ Eureka服务器启动完毕

Eureka Client的使用

Eureka注册中心启动完了,这时就需要将服务注册到上面了

1.使用IDE快速新建Eureka Client项目

2.启动类加上@EnableEurekaClient注解,说明自己是Eureka客户端

3.Eureka配置

server:
port: 8861
eureka:
client:
#注册中心地址
service-url:
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
spring:
application:
name: eureka-client

4.启动该程序,同时启动上面的Eureka Server程序

在Eureka注册中心上,可以看到,eureka-client已经被注册上去了

Eureka高可用

现在Eureka是个单点的,但是服务器可能会挂掉,这是很危险的,所以需要实现Eureka高可用,新增Eureka Server,现在就来新增一个Eureka Server

1.配置中fetch-registry: false的配置去掉或注释掉

因为现在不是单节点了,是多节点,需要同步其他节点的数据

去掉或注释掉#fetch-registry: false

2.idea中复制应用

并分别设置分别设置应用名EurekaServerApplication1,默认端口8761

-Dserver.port=8761

另一个应用名EurekaServerApplication2,默认端口8762

-Dserver.port=8762

3.配置server1,并启动程序EurekaServerApplication1

#启动端口可注释掉,VM参数中已配置
#server:
# port: 8761
eureka:
client:
#表示是否将自己注册到Eureka Server, 默认为true
#由于当前应用就是Eureka Server, 因此设为 false
register-with-eureka: false
#注册中心地址
service-url:
#设置成server2的端口号,相互注册
defaultZone: http://localhost:8762/eureka/
spring:
application:
#服务名称
name: eureka-server1

4.配置server2,并启动程序EurekaServerApplication2

#启动端口可注释掉,VM参数中已配置
#server:
# port: 8761
eureka:
client:
#表示是否将自己注册到Eureka Server, 默认为true
#由于当前应用就是Eureka Server, 因此设为 false
register-with-eureka: false
#注册中心地址
service-url:
#设置成server2的端口号,相互注册
defaultZone: http://localhost:8761/eureka/
spring:
application:
#服务名称
name: eureka-server2

5.配置Eureka Client的注册中心地址

service-url:
#这里同时向两个注册中心注册
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/

6.分别打开两个Eureka Server的图形界面 http://localhost:8761和http://localhost:8762,可以发现,Eureka Client已同时注册到两个注册中心上面

此时,已实现了高可用,无论哪一个Eureka Server挂掉了,服务都可用。

3个Eureka Server也是同理,两两相互注册即可,如下图

建议:实际开发中,建议使用至少2个Eureka Server以实现高可用

分享给你的朋友!

THANDKS

  • End -

一个立志成大腿而每天努力奋斗的年轻人

伴学习伴成长,成长之路你并不孤单!

「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现的更多相关文章

  1. 「 从0到1学习微服务SpringCloud 」08 构建消息驱动微服务的框架 Spring Cloud Stream

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  2. 「 从0到1学习微服务SpringCloud 」07 RabbitMq的基本使用

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  3. 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  4. 「 从0到1学习微服务SpringCloud 」05服务消费者Fegin

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  5. 「 从0到1学习微服务SpringCloud 」04服务消费者Ribbon+RestTemplate

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...

  6. 「 从0到1学习微服务SpringCloud 」03 Eureka的自我保护机制

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 Eureka的高可用需要 ...

  7. 「 从0到1学习微服务SpringCloud 」10 服务网关Zuul

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config 「 从0到1学习微服务SpringCloud 」07 RabbitM ...

  8. 「 从0到1学习微服务SpringCloud 」09 补充篇-maven父子模块项目

    系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config 「 从0到1学习微服务SpringCloud 」07 RabbitM ...

  9. 「 从0到1学习微服务SpringCloud 」01 一起来学呀!

    有想学微服务的小伙伴没?一起来从0开始学习微服务SpringCloud,我会把学习成果总结下来,供大家参考学习,有兴趣可以一起来学!如有错误,望指正! Spring .SpringBoot.Sprin ...

随机推荐

  1. jquery核心基础

    jquery对对象的操作:   检查对象类型: 老式的javascript使用typeOf()操作符,但他是不符合逻辑的,在某些情况下,typeOf()返回的不是一个正确的值,或者返回一个出乎意料的值 ...

  2. C# 文件在数据库 的 存取

    ... /// <summary> /// 获取数据库Image字段数据,保存到本地 /// </summary> /// <param name="sende ...

  3. 2018-8-10-WPF-修改图片颜色

    title author date CreateTime categories WPF 修改图片颜色 lindexi 2018-08-10 19:16:53 +0800 2018-07-03 15:4 ...

  4. 如何用python“优雅的”调用有道翻译?

    前言 其实在以前就盯上有道翻译了的,但是由于时间问题一直没有研究(我的骚操作还在后面,记得关注),本文主要讲解如何用python调用有道翻译,讲解这个爬虫与有道翻译的js“斗争”的过程! 当然,本文仅 ...

  5. 国内免费CMS系统大全

    一.ASP类的CMS程序 1.动易CMS 官方网址:http://www.powereasy.net/(可免费下载) 特点:完全免费,ACCESS数据库,主要功能模块:文章频道.下载频道.图片频道.留 ...

  6. 举例理解Hibernate的三种状态(转)

    转自:https://blog.csdn.net/yiguang_820/article/details/79073152 初学Hibernate,了解到Hibernate有三种状态:transien ...

  7. There is no Action mapped for namespace [/] and action name [login] associate解决办法 .

    写了一个JSP项目,在配置struts2时遇到了这个错误,在网上逛了一大圈后终于解决了这个问题.具体解决方法是: 1.struts.xml的名字和位置 这里特别提一点,很多人遇到这个错误都是名字错误, ...

  8. Python网络编程笔记二

    使用select模块实现IO多路复用服务端 import socket import select #windows上只支持select.select,不支持poll epoll HOST = &qu ...

  9. 机器学习回顾篇(13):集成学习之AdaBoost

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  10. Ceph14.2.5 RBD块存储的实战配置和详细介绍,不看后悔! -- <3>

    Ceph RBD介绍与使用 RBD介绍 RBD即RADOS Block Device的简称,RBD块存储是最稳定且最常用的存储类型.RBD块设备类似磁盘可以被挂载. RBD块设备具有快照.多副本.克隆 ...