自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring Cloud Eureka 源码跟踪(5.客户端负载均衡)

5.1 LoadBalancerAutoConfiguration 客户端负载均衡器的的自动配置类型 5.2 restTemplate调用请求时会被LoadBalancerInterceptor类的intercept方法拦截 5.3 intercept方法调用LoadBalancerClient接口实现类RibbonLoadBalancerClient的execute方法执行 5.4 ILoadBanancer loadBalancer=this.getLoadBalancer(serviceId)根

2020-06-11 00:35:25 172

原创 Spring Cloud Eureka 源码跟踪(4.服务注册中心)

通过DiscoveryClient.register方法发送请求到AbstractInstanceRegistry中的register方法注册, 存储在ConcurrentHashMap<String, Map<String, Lease>> registry对象中。

2020-06-11 00:30:34 98

原创 Spring Cloud Eureka 源码跟踪(3.服务续约)

通过定时线程类(ScheduledExecutorService scheduler)间隔renewalIntervalInSecs(默认30s)执行DiscoveryClient.HeartbeatThread方法获取服务。 this.scheduler.schedule(new TimedSupervisorTask(“heartbeat”, this.scheduler, this.heartbeatExecutor, renewalIntervalInSecs, TimeUnit.SECONDS

2020-06-11 00:26:49 128

原创 Spring Cloud Eureka 源码跟踪(2.服务获取)

说明:通过定时线程类(ScheduledExecutorService scheduler)间隔renewalIntervalInSecs(默认30s)执行 DiscoveryClient.CacheRefreshThread方法获取服务。 scheduler.schedule调用完整代码 this.scheduler.schedule(newTimedSupervisorTask(“cacheRefresh”,this.scheduler,this.cacheRefreshExecutor

2020-06-11 00:24:02 146

原创 Spring Cloud Eureka 源码跟踪(1.服务注册)

DiscoveryClient类的initScheduledTasks()方法会创建InstanceInfoReplicator(线程对象),并将当前实例传入其构造函数(函数中定义线程池), 然后执行线程对象启动方法 启动方法中定义线程池线程 间隔initialDelayMs,执行InstanceInfoReplicator.run()方法, run()会回调discoveryClient中的注册方法 通过REST请求将客户端元数据(InstanceInfo)发送给注册中心。 ...

2020-06-11 00:16:49 179

原创 Spring Cloud Eureka 原理结构

“服务注册中心-1” 和 “服务注册中心-2”,他们互相注册组成高可用集群。 “服务提供者” 启动了两个实例,一个注册到“服务注册中心-1” 上,另外一个注册到 “服务注册中心-2” 上。 还有两个 “服务消费者” ,它们也都分别指向了一个注册中心。 服务提供者 服务注册   “服务提供者” 在启动的时候会通过发送REST请求的方式将自己注册到Eureka Server 上,同时带上了自身服务的一些元数据信息。 Eureka Server 接收到这个REST请求后,将元数据信息存储在一个双层结构Map中,.

2020-06-11 00:02:05 158

原创 CentOS 7的常用操作命令

2 Linux操作基础 2.1 Shell和命令基础 2.1.3 文件及Linux目录结构 2.1.3.1 软链接 ln -s ln 链接命令-s 软链接(创建一个软链接相当于Windows中的快捷方式 ) 用法 ln -s 源路径 /usr/local/bin 创建链接后的链接显示 2.1.3.2 Linux目录结构 2.2...

2020-03-01 23:15:11 1019

原创 基于oracle 11g 的SQL优化

1.查看当前数据库版本: select* from v$version;(以下示例基于oracle 11.2.0.1.0) 2.ROWID oracle数据库的表中的每一行数据都有一个唯一的标识符,该标识符表明了该行在oracle数据库中的物理具体位置. 3.execute procedure 命令是在PL/SQL命令窗口执行的。 SQL/PLUS下查看执行计划详细信息 说明: recursi...

2020-01-24 01:43:11 3438

原创 JVM内存模型与垃圾回收

-1 参考书籍 深入理解Java虚拟机:JVM高级特性与最佳实践(最新第二版).pdf 0 JVM和Java HotSpot java -version出来信息包含两部分:Java软件包发行版本信息和内核(JVM)版本信息。 虚拟机(JVM)版本是25.121-b13 1 JVM内存结构及说明: 1.1 结构 1.2各部说明 1.2.1 程序计数器 它是当前线程执行字节码的行号指示器,字节码解...

2019-11-02 19:53:09 396 1

原创 Tomcat 总体设计

0 tomcat中的socket服务线程: tomcat说白了就是一个socket服务线程,监听8080端口,一旦有连接过来就生成一个socket来对应, 然后把socket扔给后端的Executor线程池,由线程池中的一个线程负责进行后续的处理, 而ServerSocket线程继续监听等待下一个连接的到来。 1.Connetor 链接器( 链接器框架名称是Coyote) ,它包含以以下功能: ...

2019-11-02 19:36:10 283

原创 tomcat8.5 manager 远程部署war

1.解决远程访问Manager 403(没有权限) conf/tomcat-user.xml 添加以下代码 admin-gui- 访问host-manager (host-manager这个webapp则是提供了虚拟主机的web管理界面)界面。 manager-gui - 访问manager HTML界面。 manager-status - 只能访问“服务器状态”页面。 manager-scri...

2019-11-02 19:30:04 544

超级宝贵的技术收藏资源

第1章 简介 1.1 历史与发展 1.2 特性 1.2.1 存储结构 1.2.2 内存存储与持久化 1.2.3 功能丰富 1.2.4 简单稳定 第2章 准备 2.1 安装Redis 2.1.1 在POSIX系统中安装 2.1.2 在OS X系统中安装 2.1.3 在Windows中安装 2.2 启动和停止Redis 2.2.1 启动Redis

2018-04-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除