自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 gang scheduler在kube-batch中的实现

目录一、名词解释二、流程图gang scheduler介绍:一个kube-batch作业(kube-batch job)可能有多个pods, 这些pods要不全部执行,要不一个都不执行。一、名词解释 k8s job:一些pod集合 kube-batch task: pod,一个kube-batch task就是一个pod kube-batch podGro...

2020-04-05 20:59:00 1157

原创 kube-batch源码梳理

一、Cache“缓存与封装”,主要两个功能: 调用 K8s 的 sdk,watch集群中节点、容器的状态变化,将信息同步到自己的数据结构中。 封装了 API server 的接口。kube-batch 中,只有 cache 模块和 API Server 交互,其他模块只需要调用 Cache 模块接口即可。比如 Cache.Bind 接口,会调用 API Server...

2020-04-05 17:17:09 1483

原创 kubelet源码分析(一)——kubelet启动流程及pod状态变化感知和消费流程

目录1、kubelet启动流程1.1cmd/kubelet/app/server.go Run方法1.2cmd/kubelet/app/server.go run方法1.3cmd/kubelet/app/server.go RunKubelet方法1.4cmd/kubelet/app/server.go CreateAndInitKubelet方法1.5c...

2020-03-15 21:10:39 932

原创 kubernetes kubebuilder实现crd(二)

本篇主要介绍如何在crd中添加字段信息1、看下config/samples下面的yaml文件:kubectl get guestbooks.webapp.my.domain -o yamlspec: # Add fields here foo: bar这里参数里只有foo:bar2、我们来加个虚拟CPU,内存信息:直接api/v1/guestbook_t...

2020-02-16 16:45:59 472

原创 kubernetes kubebuilder实现crd初探

目录1、crd介绍2、使用kubebuilder开发crd2.1 准备环境2.2 创建一个项目2.3创建api2.4、编译第一步:修改DockerFile,记得关掉go mod第二步:修改Makefile第三步:构建镜像2.5 安装CRD第一步:修改Makefile第二步:执行命令2.6 启动controller第一步:修改Makef...

2020-02-12 22:58:35 1514

原创 kube-controller-manager inform机制学习

介绍controller中的传感器主要由Reflector, Informer, Indexer组成Reflector通过List&Watch kube-apiserver来获取k8s资源数据,获取到资源数据后,会在Delta队列放入一个包括资源对象信息本身以及资源对象事件类型的Delta记录Informer不断从Delta队列中弹出Delta记录,一方面把事件交给事件回调函数,另...

2020-01-12 21:28:58 443

原创 kubernetes daemonSet源码学习

kubernetes daemonSet源码学习一、daemonSet controller对象创建1、给Informer注册EventHandler2、声明核心处理函数二、daemonSet controller启动1、run函数2、failedPodsBackoff *flowcontrol.Backoff三、DaemonSet的同步1、syncDaemonSet函数2、manage函数3、c...

2020-01-05 21:57:11 542

原创 Go 基本语法(方便查询,不断完善中。。。)

一、tips1、main函数只有在main包中才可以跑起来2、package名字是随便起的,不一定非要有个实体的文件夹3、一个较为复杂的傻瓜for循环 :)for i, j := 0, len(stringValue)-1; i <= j; i, j = i+1, j-1 { if stringValue[i] != stringValue[j] { re...

2019-09-08 01:48:07 264

原创 idea创建go项目

idea创建go项目go编程第一步详细步骤如下:首先保证idea plugin中有go插件,没有自己安装一下;新建go项目这里选择的是go的安装路径要在gopath的src目录下写个test程序,测试可以跑起来新建一个model包,里面定义Student ,在main中也是可见的...

2019-09-08 00:24:20 2590 1

原创 二分查找练习

目录一、原生二分查找及其变种二、变种2.1.总结2.1.1.模板2.1.2.首先判断出是返回left,还是返回right2.1.3.判断比较符号2.2.题 2.2.1.查找第一个相等的元素(结果是2)2.2.2.查找最后一个相等的元素(结果是3)2.2.3.查找最后一个小于key的元素 (结果是1)2.2.4.查找第一个大于key的元素(结果是4) ...

2019-02-24 21:15:28 585

原创 Netty源码分析——NioEventLoopGroup & NioEventLoop

目录 1、NioEventLoopGroup1.1 类图1.2 初始化1.创建线程执行器2.创建EventLoop,并存储到EventExecutor类型的数组中3.创建线程选择器2、NioEventLoop2.1 类图2.2 selector2.3 run1.轮询io事件2.处理轮询到的key3.执行任务队列中的task1、NioEve...

2019-01-06 20:56:59 650 1

原创 Java IO模型与Netty线程模型

目录 一、概念介绍1、同步与异步2、阻塞与非阻塞3、同步阻塞io4、同步非阻塞io5、IO多路复用6、异步IO二、BIO(同步阻塞IO)三、伪异步IO​四、NIO(同步阻塞IO)五、Netty线程模型1、Reactor单线程模型2、Reactor多线程模型3、主从Reactor多线程模型4、Netty线程模型实现一、概念介绍...

2018-12-10 08:55:34 925 1

原创 Netty框架中的设计模式

1、facade模式(外观模式)JDK的SocketChannel和ServerSocketChannel没有统一的Channel接口供业务开发者使用,对于用户而言,没有统一的操作视图,使用起来不方便。而Netty重新定义了Channel接口,采用facade模式进行封装,将网络io操作,网络io相关联的其他操作封装起来,统一对外提供。参考:https://www.cnblogs.com/...

2018-12-10 00:01:13 710

原创 java线程池

目录 1、ctl2、状态转换3、几个重要的参数及注意事项&lt;1&gt;corePoolSize&lt;2&gt;maximumPoolSize&lt;3&gt;keepAliveTime&lt;4&gt;workQueue(1) “直接执行” (常用的队列是 SynchronousQueue (同步队列).(2) 使用无界队列 (使用 Integer.M...

2018-12-09 23:25:41 141

原创 Netty实战练习——tcp拆包和粘包

目录一、发现问题二、自定义协议三、编解码链条四、运行结果源码地址:一、发现问题继续上篇帖子的内容,https://blog.csdn.net/weixin_43599368/article/details/84206351利用java原生序列化方式来编码解码,其余代码如下:RpcClient:package rpcserver.client;impor...

2018-11-25 23:44:43 437

原创 java序列化与反序列化

1、什么是序列化?序列化是将对象转换成字节数组的过程,反序列化是将字节数组转换成对象的过程。2、为啥要序列化?简单来说,因为网络传输的都是二进制的字节流,所以如果一个对象需要在网络传输,就需要序列化。3、java如何做序列化?两步:&lt;1&gt;实现序列化接口:Java.lang.Serializable 接口(这是一个标志接口,没有任何抽象方法),Java 中大多数类...

2018-11-25 17:29:13 157

原创 Netty实战练习——自定义Encoder和Decoder

目录实现encoder和decoder的方法一、利用netty1、实现messageToByte,使用java原生的序列化方式2、利用netty支持的现有序列化框架3、自定义序列化协议二、在handler的read和write方法中直接实现tcp拆包粘包见下篇需求:1、客户端向服务端发送自定义类InputParam:public class InputPa...

2018-11-18 23:05:22 2266

原创 Netty源码分析——ByteBuf

目录1、ByteBuffer介绍2、ByteBuffer缺点3、ByteBuf介绍4、ByteBuf常用API5、ByteBuf转换成标准的ByteBuffer6、ByteBuf源码分析7、最简单的将接收到的消息打印出来Netty 里面数据读写是以 ByteBuf 为单位进行交互的,ByteBuf是Byte数组的缓冲区,像java里的ByteBuffer1、By...

2018-11-17 15:06:15 553

原创 Netty实战练习——聊天室

目录 用netty实现一个简单的“聊天室”环境要求:项目结构:代码详情:1、ChatServerHandler.javaSimpleChannelInboundHandler:ChannelGroup:2、ChatServer.javaDelimiterBasedFrameDecoder:3、ChatClientHandler.java4、ChatC...

2018-11-11 21:08:54 351

原创 Netty实战练习——傻瓜服务器

目录 用netty实现一个简单的“傻瓜服务器”环境要求:项目结构:代码详情:1、FoolServerHandler.java2、FoolServer.java运行效果:源码地址:用netty实现一个简单的“傻瓜服务器”将接收到的数据打印在控制台上环境要求:JDK 1.8 Maven 3.3.3 Netty 4.1项目结构:代码详情:...

2018-11-11 20:33:23 465

空空如也

空空如也

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

TA关注的人

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