SpringCloud学习笔记(1)——Eureka

发布于 2019-03-01


Spring Cloud

SpringCloud学习笔记(1)——Eureka

如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。 Spring Cloud为开发者快速构建通用的分布式系统(例如:配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性的Token、全局锁、领导者选举、分布式会话、集群状态)提供工具。 这里用的是最新版本Edgware

SpringCloud学习笔记(1)——Eureka

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

SpringCloud学习笔记(1)——Eureka
SpringCloud学习笔记(1)——Eureka

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

SpringCloud学习笔记(1)——Eureka

接下来,运行一个Eureka Server

SpringCloud学习笔记(1)——Eureka
SpringCloud学习笔记(1)——Eureka

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

SpringCloud学习笔记(1)——Eureka

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

SpringCloud学习笔记(1)——Eureka

2、接下来,再建一个工程作为Eureka Client。唯一不同的是artifact id换成spring-cloud-starter-netflix-eureka-client 接下都是翻译自官方文档中第三部分Spring Cloud Netflix第11章部分小节 11.2 Registering with Eureka 当客户端用Eureka注册的时候,它提供自身的元数据,比如主机、端口、url、主页地址等等。Eureka接收某个服务下所有实例的心跳消息。如果心跳检测失败(超过配置的超时时间)了,那么这个实例通常会被从注册列表中删除。

SpringCloud学习笔记(1)——Eureka

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

SpringCloud学习笔记(1)——Eureka

默认的应用的名称、虚拟主机和非安全的端口分别用spring.application.name{spring.application.name}、{spring.application.name}和${server.port}代表。 如果不想让Eureka发现客户端,你可以设置eureka.client.enabled的值为false 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。 于是

SpringCloud学习笔记(1)——Eureka
SpringCloud学习笔记(1)——Eureka

观察两边的启动日志

SpringCloud学习笔记(1)——Eureka
SpringCloud学习笔记(1)——Eureka

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

SpringCloud学习笔记(1)——Eureka

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

SpringCloud学习笔记(1)——Eureka

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

SpringCloud学习笔记(1)——Eureka

注意:eureka.client.healthcheck.enabled=true只应该写在application.yml中。 11.7.3 Changing the Eureka Instance ID 默认的实例ID的格式是这样的:spring.cloud.client.hostname:{spring.cloud.client.hostname}:{spring.application.name}:{spring.application.instance\_id:{server.port}}} 当然,可以使用eureka.instance.instanceId覆盖这种默认的设置 欢迎工作一到八年的Java工程师朋友们加入Java高级交流:854630135 本群提供免费的学习指导 架构资料 以及免费的解答 不懂得问题都可以在本群提出来 之后还会有直播平台和讲师直接交流噢

原文始发于:SpringCloud学习笔记(1)——Eureka