系列文章(更新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:8761http://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. JMeter Webservice API测试计划

    Web Services Web服务被定义为旨在通过网络支持两台机器之间交互的软件系统.它被设计为具有以通常在Web服务描述语言(WSDL)中指定的机器可处理格式描述的接口. 通常,“HTTP”是最常 ...

  2. 默认 Servlet

    什么是 DefaultSevelet DefaultSevelet 是处理静态资源的 Sevelet. 在什么位置声明它? 它在 $CATALINA_HOME/conf/web.xml 中被全局声明. ...

  3. Perl 的内置变量$|

    $|是perl的内置变量,默认情况下是0,如果设置为非0的话,表示当前的输出不经过缓存立刻输出.相当于c语言的fflush()函数,立即刷新缓冲区. 比如你print或者write一个文件,实际是需要 ...

  4. 19.yield和send的区别

    转载:https://www.jianshu.com/p/ccb5e7da3fd8 https://www.cnblogs.com/xhcdream/p/8304953.html https://ww ...

  5. shellcode超级反杀

    shellcode超级免杀 作者声明: 本文章属于作者原创,不能转载,违反网络安全法自己承担.这里只供学习使用. 日期: 2019-12-30 我试过了电脑管家,火绒安全,360....一系列杀毒软件 ...

  6. jsp页面获取当前系统时间

    value="<% out.print(new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(n ...

  7. Gif动图压缩java版

    简单说明下,如果不是压缩动图的话只用java本身的包足够实现压缩和截取图片了,为了能够压缩gif动图,这里引用了两个文件 AnimatedGifEncoder 和 GifDecoder, 先用Deco ...

  8. centos 7.3 服务器环境搭建——MySQL 安装和配置

    centos 7.3 服务器环境搭建——MySQL 安装和配置服务器信息如下:服务器:阿里云系统 centos 7.3 (阿里云该版本最新系统)mysql版本:5.7.18 (当前时间最新版本)连接服 ...

  9. 07Shell数组

    Shell 数组变量 普通数组:只能使用整数作为数组索引 关联数组:可以使用字符串作为数组索引 普通数组 定义数组 方法1: 一次赋一个值 数组名[索引]=变量值 示例 # array1[0]=pea ...

  10. 机器学习之路--Pandas

    Pandas 是对numpy的封装 Pandas 核心结构DataFrame 近似看出矩阵结构panda字符型叫object dataframe其中一行或者一列叫series dataframe 里面 ...