「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现
系列文章(更新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服务注册与发现的更多相关文章
- 「 从0到1学习微服务SpringCloud 」08 构建消息驱动微服务的框架 Spring Cloud Stream
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...
- 「 从0到1学习微服务SpringCloud 」07 RabbitMq的基本使用
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...
- 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...
- 「 从0到1学习微服务SpringCloud 」05服务消费者Fegin
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...
- 「 从0到1学习微服务SpringCloud 」04服务消费者Ribbon+RestTemplate
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...
- 「 从0到1学习微服务SpringCloud 」03 Eureka的自我保护机制
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 Eureka的高可用需要 ...
- 「 从0到1学习微服务SpringCloud 」10 服务网关Zuul
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config 「 从0到1学习微服务SpringCloud 」07 RabbitM ...
- 「 从0到1学习微服务SpringCloud 」09 补充篇-maven父子模块项目
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config 「 从0到1学习微服务SpringCloud 」07 RabbitM ...
- 「 从0到1学习微服务SpringCloud 」01 一起来学呀!
有想学微服务的小伙伴没?一起来从0开始学习微服务SpringCloud,我会把学习成果总结下来,供大家参考学习,有兴趣可以一起来学!如有错误,望指正! Spring .SpringBoot.Sprin ...
随机推荐
- CSS选择器权重计算规则
从CSS代码存放位置看权重优先级:内嵌样式 > 内部样式表 > 外联样式表.其实这个基本可以忽视之,大部分情况下CSS代码都是使用外联样式表. 从样式选择器看权重优先级:important ...
- Linux数据对齐
编写可移植代码而值得考虑的最后一个问题是如何存取不对齐的数据 -- 例如, 如何读取 一个存储于一个不是 4 字节倍数的地址的 4 字节值. i386 用户常常存取不对齐数据项, 但是不是所有的体系允 ...
- 元组&字典&函数基础
set: 类似dict, 是一组key的集合,不存储value 本质:无序和无重复元素的集合 创建: 创建set需要一个list或者tuple或者dict作为输入集合 重复元素在set中会自动被过滤 ...
- 【NOIP模拟赛】【数学】完全平方数
问题描述 一个数如果是另一个整数的完全平方,那么我们就称这个数为完全平方数(Pefect Sqaure),也称平方数. 小A认为所有的平方数都是很perfect的~ 于是他给了小B一个任务:用任意个不 ...
- python3中lambda函数
def make_repeater(n): return lambda s:s*n twice=make_repeater(2) print(twice('wwss')) print(twice(2) ...
- vue学习笔记(二)vue的生命周期和钩子函数
前言 通过上一章的学习,我们已经初步的了解了vue到底是什么东西,可以干什么,而这一篇博客主要介绍vue的生命周期和它常用的钩子函数,如果有学过java的园友可能有接触到在学习servlet的时候学过 ...
- C# ref参数
ref关键字用于将方法内的变量改变后带出方法外.具体我们通过例子来说明: static void Main(string[] args) { int c = 0; Add(1, 2,ref c); C ...
- Java函数式接口与Lambda表达式
什么是函数式接口? 函数式接口是一种特殊的接口,接口中只有一个抽象方法. 函数式接口与Lambda表达式有什么关系? 当需要一个函数式接口的对象时,可以提供一个lambda表达式. package l ...
- Linux常用命令大全(一)
Linux常用命令大全(一) 第一章 cal命令 $ cal 12 2017 :列出2017年12月的日历 $ cal 10 :列出公元10年的日历 $ cal 12 17 :列出公元17年12月的日 ...
- hadoop参数传递实例
要求: 根据输入文件中的信息,计算出某几个字符串出现的个数 输入文件格式:xxx,xxx,xxx,xx,x,x,xxx,x,x,xx,x,x,x,x,x,x,x, 输出文件:xx 10 xx ...