SpringCloud学习笔记(1)——Eureka

Spring Cloud

33f28f7734454c64b8a5f50bf8e9acb9

 

如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。

Spring Cloud为开发者快速构建通用的分布式系统(例如:配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性的Token、全局锁、领导者选举、分布式会话、集群状态)提供工具。

这里用的是最新版本Edgware

344bb186579d4f82b5d7cf30bab8c4a2

 

操作步骤

1、新建一个工程作为Eureka Server

56e0dc4264a143978e967e8cf2c326e9

 

6dd63bab148b42c1bba342070f28af72

 

创建完成后的pom.xml文件是这样的

482f30e5db0a4dcd90d49a2d5ddb1c8c

 

接下来,运行一个Eureka Server

cdd128a15fbe4b82972a2de4562899ae

 

2f25f71e1a264265ad5ed1c91a4bbec2

 

所以,最终这个工程看起来是这样的

d9ea3f95eee843739a7bea5f22fc73b6

 

启动以后,在浏览器中输入http://localhost:8761/就能看的如下界面

11e89676f8604d538fba4a4d0075992b

 

2、接下来,再建一个工程作为Eureka Client。唯一不同的是artifact id换成spring-cloud-starter-netflix-eureka-client

接下都是翻译自官方文档中第三部分Spring Cloud Netflix第11章部分小节

11.2 Registering with Eureka

当客户端用Eureka注册的时候,它提供自身的元数据,比如主机、端口、url、主页地址等等。Eureka接收某个服务下所有实例的心跳消息。如果心跳检测失败(超过配置的超时时间)了,那么这个实例通常会被从注册列表中删除。

 

b299139733b947d3a9c0546cc8d0dfd2

 

 

只要在你的应用的classpath下有spring-cloud-starter-netflix-eureka-client,那么将会自动注册到Eureka Server。当然需要配置Eureka Server的地址。例如:

 

40d16b08b24a4470b905032130b8dcaf

 

 

默认的应用的名称、虚拟主机和非安全的端口分别用${spring.application.name}、${spring.application.name}和${server.port}代表。

如果不想让Eureka发现客户端,你可以设置eureka.client.enabled的值为false

如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。

于是

dafec2b954254904b087ed4b304ae82d

 

59f64d5d9377470eb4bef73c86f01f8f

 

观察两边的启动日志

a889741a536e47e0bbbe458977cf046f

 

07091bd59a4142b085e69944390555ad

 

此时再看http://localhost:8761/

eaff599e8eb94f05a13d223656001660

 

11.4 Status Page and Health Indicator

Eureka实例的状态页面和健康指示器默认情况下分别用"/info"和"/health"代表。当然这个是可以改的。默认就像下面这样

 

447b6aa647b2461ba689c6aa8ee0bffc

 

 

11.6 Eureka’s Health Checks

默认情况下,Eureka用客户端心跳检测来判断一个客户端是否活着。除非有特殊情况,否则这个客户端不会传播这个应用的健康检查状态给每个Spring Boot监控器。这就意味着在注册成功以后,将总是宣称这个应用是"UP"状态。这个行为可以被Eureka健康检查改变,这种改变的结果就是传播应用的状态给Eureka

 

0f6bd08ec5d146f8ba421f140e3e669b

 

 

注意:eureka.client.healthcheck.enabled=true只应该写在application.yml中。

11.7.3 Changing the Eureka Instance ID

默认的实例ID的格式是这样的:${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}}}

当然,可以使用eureka.instance.instanceId覆盖这种默认的设置

欢迎工作一到八年的Java工程师朋友们加入Java高级交流:854630135

本群提供免费的学习指导 架构资料 以及免费的解答

不懂得问题都可以在本群提出来 之后还会有直播平台和讲师直接交流噢

转载于:https://my.oschina.net/u/3990817/blog/3018647

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值