上一页 1 2 3 4 5 6 7 8 ··· 27 下一页
摘要: 此外,当前云原生体系下的多云多集群,和云计算体系下的概念认知存在相当大的理念沟壑,这也导致了在云原生领域多云相关技术演进的方向,实际上是一个复杂的系统工程。在云原生体系下,既有的多云多集群,都是围绕应用为中心的管理视角,这超越了云计算下的仅仅以资源分配为中心的管理视角。不能让应用无感知的进行多云多集 阅读全文
posted @ 2023-08-01 14:22 muzinan110 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 1、引言 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC)。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被 阅读全文
posted @ 2023-03-23 15:35 muzinan110 阅读(214) 评论(0) 推荐(0) 编辑
摘要: Java垃圾回收 垃圾回收区域及划分 在介绍Java垃圾回收之前,我们需要了解Java的垃圾主要存在于哪个区域。JVM内存运行时区域划分如下图所示: 图源:深入理解Java虚拟机:JVM高级特性与最佳实践(第3版) —机械工业出版社 程序计数器:是一块较小的内存空间,它可以看作是当前线程所执行的字节 阅读全文
posted @ 2023-03-19 15:12 muzinan110 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 垃圾回收(Garbage Collection,简称 GC)是编程语言中自动的内存管理机制,垃圾回收,垃圾指的是不再需要的内存块,如果不及时清理就没有办法再利用。 垃圾回收算法 常见的垃圾回收算法有: 引用计数:每个对象维护一个引用计数,如果这个对象被销毁,则计数 -1 ,当计数为 0 时,回收该对 阅读全文
posted @ 2023-03-13 20:40 muzinan110 阅读(18) 评论(0) 推荐(0) 编辑
摘要: Controller作为核心中枢,集成了Reflector、DeltaFIFO、Indexer等组件,成为连接下游消费者的桥梁。Informer组件的启动,以及数据在几个组件之间的传递都由Controller完成。 Controller的定义如下。 type controller struct { 阅读全文
posted @ 2023-02-26 14:29 muzinan110 阅读(85) 评论(0) 推荐(0) 编辑
摘要: Kubernetes的事件(Event)是一种资源对象,用于展示集群内发生的情况,Kubernetes系统中的各个组件会将运行时发生的各种事件上报给Kubernetes API Server。例如,调度器做了什么决定,某些Pod为什么从节点中驱逐。可以通过kubectl get event kube 阅读全文
posted @ 2023-02-26 14:29 muzinan110 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 工作队列(WorkQueue)在控制器编写中使用得非常频繁,通常使用informer.AddEventHandler函数监听资源对象的事件,并设置事件触发时的回调函数。在回调函数中,将资源对象的key放入WorkQueue,控制器会不断地从WorkQueue中获取数据并按照期望的状态处理。在处理的过 阅读全文
posted @ 2023-02-26 14:28 muzinan110 阅读(57) 评论(0) 推荐(0) 编辑
摘要: Indexer是一个用来存储资源对象的内存存储,处理用户的查询是非常快速高效的。源码路径为k8s.io/client-go/tools/cache/index.go。 Indexer的实现主要分为2部分,ThreadSafeMap是底层的并发安全存储,Indexer索引器用来注册索引函数。 1.Th 阅读全文
posted @ 2023-02-26 14:28 muzinan110 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 在Reflector调用List/Watch方法后,数据会存入DeltaFIFO这个先进先出的队列。 从名称上看,DeltaFIFO需要分2部分来理解,FIFO(First Input First Output,先进先出)是指和正常的先进先出队列一样有基本的操作方法,例如Add、Delete、Upd 阅读全文
posted @ 2023-02-26 14:27 muzinan110 阅读(38) 评论(0) 推荐(0) 编辑
摘要: Informer启动后会连接API Server并进行全量资源查询,之后会对资源对象进行监听。以上操作主要是由Reflector实现的。源码路径为k8s.io/client-go/tools/cache/reflector.go。 Reflector使用的List/Watch方法主要分为2部分,第一 阅读全文
posted @ 2023-02-26 14:26 muzinan110 阅读(93) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 27 下一页