点击上方蓝色字关注我们~ 题外话:Java都有对象,那你的对象在哪里呢?那我也来new一个吧。 了解下Java是怎么创建对象,并且在内存布局和访问定位,可以很好的帮助我们认识虚拟机JVM底层的原理。 这里只是针对HotSpot虚拟机Java对象。 1 对象的创建 ■创建过程 【虚拟机视角】 1、检查这个指令的参数是否能在常量池中定位到一 […]
点击上方蓝色字关注我们~ 题外话:Java都有对象,那你的对象在哪里呢?那我也来new一个吧。 了解下Java是怎么创建对象,并且在内存布局和访问定位,可以很好的帮助我们认识虚拟机JVM底层的原理。 这里只是针对HotSpot虚拟机Java对象。 1 对象的创建 ■创建过程 【虚拟机视角】 1、检查这个指令的参数是否能在常量池中定位到一 […]
点击上方蓝色字关注我们~ 当我们发现线上出现bug,如何进行不停机热更新代码? 1 问题背景 当我们发现线上出现bug,在排查时可能不是很好确认问题,并且最好保留现场,才能重现问题,或者需要快速修复bug,才能比较快速或者方便的临时解决紧急问题。这时,热更新就能很好的帮助我们了。虽然可以通过发版进行解决生产问题,但是项目频繁发版会存在一定的风险: 比如用户正在使用对应功能, […]
总结下eureka系统架构和相关面试题。 〓一、定时任务汇总 客户端定时任务 1)每30秒刷新缓存(服务拉取)2)每30秒发送心跳(服务续约) 服务端定时任务 1)每10分钟更新集群节点数据2)每15分钟更新续约数及阈值3)每1分钟剔除过期注册信息 〓二、Eureka系统架构交互图 来自网上更详细的图: 〓三、常见(面试)问题汇总 1、Server节点能否在配 […]
当EurekaServer由于自身发生网络故障等原因无法接收到EurekaClient端发送的心跳(续约)时,不会将未收到心跳(续约)请求的服务下线,虽然这样短时间内可能造成EurekaServer维护的注册列表信息不是完全准确的,但保证了EurekaServer可用性。 主要通过expectedNumberOfRenewsPerMin,numb […]
点击上方蓝色字关注我们~ 最近听说有一道面试题,是关于应用系统出现高CPU的原因,面试者说当时回答的不太好,他只是回答应该是应用出现了死循环,面试官继续追问还有其它什么原因造成高CPU的?面试者一时想不出来,所以就回复暂时想不到其它原因了。所以针对这个问题,回答的应该是挺糟糕的吧。幸好面试官继续追问出现如何排查高CPU,面试者还能比较好的回答如何排查和解决,最后根据自身经验 […]
现在研究下Eureka服务下线的源码。由服务续约的源码我们知道,如果客户端在90秒内没有继续跟服务端进行心跳的话,服务端会进行下线客户端并且更改状态将其剔除,并且也会在集群中告知(同步)其它节点。 〓Eureka Client /** * 注销服务,调用client的cancel服务,往里面看也就是调用了服务端的http delete 请求进行服 […]
这里主要看下Eureka关于服务续约的源码,其实大致跟服务注册流程类似,不过更多细节和逻辑还是很大不同的。 〓Eureka Client // 在DiscoveryClient里有renew方法,大概知道其是服务续约的入口。renew使用http的方式发送心跳给服务端,如果服务端返回404,说明是某些原因造成服务是没有注册成功,那么就会再次调用r […]
前面已经剖析了Eureka初始化、Eureks服务注册,现在继续Eureka服务拉取。Eureka服务集群中,客户端会向服务端拉取已经注册的实例,实时更新注册服务列表。 〓Eureka Client // DiscoveryClient实例创建时会调用服务拉取,默认开启拉取注册信息。 // 接着调用拉取注册方法,如果拉取失败,则从备份中拉取 if […]
EurekaClient在启动时会进行一系列初始化操作,本篇文章主要解析EurekaClient端向EurekaServer端发起注册请求的具体过程,具体分为EurekaClient端发送请求和EurekaServer端接收请求。在较新的版本看到代码进行了优化,所以还是以某一版本为准进行剖析。这里是1.X版本最新版本1.9.15。 〓Eureka […]
Eureka启动的过程有client端和server端, Eureka client端入口是DiscoveryClient类, Eureka server端入口是EurekaBootStrap类, 接下来我们就从源码看下它们做了什么吧! 〓Eureka Client端启动 1)看下DiscoveryClient类图: 由此看出DiscoveryClient实现 […]
环境 MyEclipse 8.6 问题 Properties配置文件中保存中文,出现如下错误: 解决 修改资源文件的编码格式。 Windons---------->Preferences--------->Content Type--------->Text--------->Java Properties Fi […]
COPYRIGHT © 2014-2023 verysu.com . ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang