摘要:
一、高可用原理 配置一台新的master节点,然后在每台node节点上安装nginx,nginx通过内部的负载均衡将node节点上需要通过访问master,kube-apiserver组件的请求,反代到两台k8s-master节点上,这样就可以实现master节点的高可用,当任意一台master节点 阅读全文
摘要:
高可靠设计,Etcd 集群,Kubernetes 三主节点,保证集群的高可用性。 基于 GlusterFS /nfs集群,在生产环境和非生产环境下提供存储卷服务。 Flannel+VXLAN,提供可靠的网络服务。 提供分布式监控和统一日志中心,全方位的应用监管能力。 支持 Redis/ZooKeep 阅读全文
摘要:
Netty线程模型 其中ChannelPiepline的设计模型采用的是Handler组成的责任链模型 blocking I/O 阻塞nonblocking I/O 非阻塞I/O multiplexing (select and poll) 多路复用signal driven I/O (SIGIO) 阅读全文
摘要:
Spring Spring中的基本概念1.IOC/DI对象的属性由自己创建,为正向流程,而由Spring创建,为控制反转.DI(依赖注入)为实现IOC的一种方式,通过配置文件或注解包含的依赖关系创建与注入对象.正向流程导致了对象与对象之间的高耦合,IOC可以解决对象耦合的问题,有利于功能的复用 例如 阅读全文
摘要:
1.集合类 主要掌握如何实现. ArrayList实现原理要点概括 ArrayList是List接口的可变数组非同步实现,并允许包括null在内的所有元素。底层使用数组实现该集合是可变长度数组,数组扩容时,会将老数组中的元素重新拷贝一份到新的数组中,每次数组容量增长大约是其容量的1.5倍,这种操作的 阅读全文
摘要:
1.JVM内存模型 线程独占:栈,本地方法栈,程序计数器线程共享:堆,方法区 回答以上问题是需回答两个要点:1. 各部分功能2. 是否是线程共享 2.JMM与内存可见性JMM是定义程序中变量的访问规则,线程对于变量的操作只能在自己的工作内存中进行,而不能直接对主内存操作.由于指令重排序,读写的顺序会 阅读全文
摘要:
1.了解基本数据结构及特点 如,有哪些二叉树,各有什么特点 树二叉搜索树 每个节点都包含一个值,每个节点至多有两棵子树,左孩子小于自己,右孩子大于自己,时间复杂度是O(log(n)),随着不断插入节点,二叉树树高变大,当只有左(右)孩子时,时间复杂度变为O(n). 平衡二叉树保证每个节点左右子树高度 阅读全文
摘要:
1.设计模式 单例模式 单例模式有哪几种实现方式,什么场景该使用静态方法实现,什么场景该使用双检锁实现 单例模式线程安全实现的常见三种方法: 1. 静态初始化(饿汉).不管是否使用都会创建 2. 双检锁(懒汉).单例变量必须要用volatile修饰. 3. 单例注册表.spring中bean的单例模 阅读全文
摘要:
进程和线程的区别和联系 从资源占用,切换效率,通信方式等方面解答 线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元;而把传统的进程称为重型进程(Heavy—Weight Process),它相当于只有一个线程的任务。在引入了线程的操作系统中,通常 阅读全文