系列文章(更新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. 关于CPython中set集合的无序研究

    set集合本身是无序的,但是无意间发现set集合中都是数字时set貌似有序了. 无论声明这个set时数字如何摆放,输出结果总是以一种固定的顺序!同样我将dict字典的key值设为int类型,这时候字典 ...

  2. HDU 6444 Neko's loop(单调队列)

    Neko has a loop of size nn. The loop has a happy value aiai on the i−th(0≤i≤n−1)i−th(0≤i≤n−1) grid.  ...

  3. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  4. Excel快速填充

    利用单元格右下角填充句柄进行填充 然后选择快速填充 利用数据面板的快速填充功能(ctrl+e) 年月日三列不能同时填充 只能够一列一列的填充 类别取第一列 级别取第二列 但是由于第一个的编号有两个“1 ...

  5. SpringBoot入门简易教程

    使用SpringBoot来开发一个简单的restful api网关功能,目标:实现对SpringBoot的简单入门. 1. 创建SpringBoot项目 可以通过spring官网(https://st ...

  6. 安装ATS(apache traffic server)正向代理

    一 traffic server简介 Traffic Server是一种高性能Web代理缓存,可通过在网络边缘缓存频繁访问的信息来提高网络效率和性能.这使内容在物理上更接近最终用户,同时实现更快的交付 ...

  7. 洛谷$P2523\ [HAOI2011]\ Problem\ c$ $dp$

    正解:$dp$ 解题报告: 传送门$QwQ$ 首先港下不合法的情况.设$sum_i$表示$q\geq i$的人数,当且仅当$sum_i>n-i+1$时无解. 欧克然后考虑这题咋做$QwQ$. 一 ...

  8. 使用Theia——添加语言支持

    上一篇:使用Theia——创建插件 Theia——添加语言支持 Theia中TextMate的支持 使用TextMate语法可以为大部分源文件提供精准的着色修饰,虽然这只是在语法级别上(没有语言本身的 ...

  9. 从零开始学asyncio(上)

    这篇文章主要是介绍生成器和IO多路复用机制, 算是学习asyncio需要的预备知识. 这个系列还有另外两篇文章: 从零开始学asyncio(中) 从零开始学asyncio(下) 一. 简单爬虫实例 首 ...

  10. 18.Python模块包(pycharm右键创建文件夹和python package的区别)中__init__.py文件的作用

    原来在python模块的每一个包中,都有一个__init__.py文件(这个文件定义了包的属性和方法)然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了.当 ...