k8s部署Traefik Ingress:ingress是从kubernetes集群外访问集群的入口,将用户的URL请求转发到不同的service上。Ingress相当于nginx、apache等负载均衡方向代理服务器,其中还包括规则定义,即URL的路由信息,路由信息得的刷新由Ingress controller来提供。Ingress Controller 实质上可以理解为是个监视器,Ingress Controlle...
Kubernetes利用CNI-bridge插件打通网络 使用CNI插件时,需要如下配置1、将需要用到的cni组件(二进制可执行文件)放到/opt/cni/bin目录下2、在/etc/cni/net.d中增加cni的配置文件,配置文件中可以指定需要使用的cni组件及参数3、kubelet启动参数中networkPlugin设置为cni4、创建网桥5、添加本机网络端口到网桥中具体操作流程:1、下载CNI插件https://github.co...
kube-proxy ipvs模式详解 一、kube-proxy 开启 ipvs1、环境准备:测试环境为kubernetes集群,一台master节点,一台node节点。集群网络使用flanneld搭建。注意:master节点上也需要进行kubelet配置。因为ipvs在有些情况下是依赖iptables的,iptables中KUBE-POSTROUTING,KUBE-MARK-MASQ, KUBE-MARK-DROP这三条链是被 ...
kubernetes的Kube-proxy的iptables转发规则 概念kube-proxy 实际上并不起一个 proxy 的作用,而是 watch 变更并更新 iptables,也就是说,client 的请求直接通过 iptables 路由。如果kube-proxy通过iptables 转发。会修改filter和nat表filter表filter表通过OUTPUT链规定所有的出报文都要经过KUBE-SERVICES,如果一个Service没有对应的end...
golang pprof使用 pprof 简介golang 的性能分析库在 runtime/pprof 里,主要提供下面几个接口// 堆栈分析func WriteHeapProfile(w io.Writer) error// cpu分析func StartCPUProfile(w io.Writer) errorfunc StopCPUProfile()使用上面比较简单,只需要将文件指针传给对应的函数即...
linux 内核同步介绍 一、造成并发执行的原因:1.中断 2.软中断和tasklet 3.内核抢占 4.睡眠与用户空间的同步。5.两个或多个处理器可以同时执行代码。二、预防死锁:1、按顺序加锁。可以防止指明拥抱类型的死锁2、防止发生饥饿,如果A不发生,B要一直等待下去吗?3、不要重复请求同一个锁。4、设计应简单。三、在编写代码时,要考虑如下:1、这个数据是不是全局的,除了当...
linux 中断和中断处理 一、概念内核需要管理连接到计算机上的硬件设备,如硬盘,蓝光碟机,键盘,鼠标,3D处理器,以及无线电等。内核提供一种机制,让硬件在需要的时候再向内核发出信号。这就是中断机制。从物理学角度看,中断是一种电信号,中断是硬件发出,送入中断控制器的输入引脚中,中断控制器是个简单的电子芯片,其作用是将多路中断管线,采用复用技术只通过一个和处理器连接的管线与处理器通信。当接受到一个中断后,中断控制器会给...
linux 进程调度 一、调度策略1、I/O消耗型:图型界面程序。处理器消耗型:执行大量数学计算的程序。2、进程优先级:①nice值:值越大,优先级越低。nice值代表时间片的比例②实时优先级:越高的实时优先级数值意味着进程优先级越高。3、时间片:它表示进程在被抢占前所能持续运行的时间。linux中使用新的CFS调度器,其抢占时机取决于新的可运行程序消耗了多少处理器使用比,如果消耗的使用比比...
linux 进程,线程 一、概念进程包含很多资源,如打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内存映射的内存地址空间及一个或多个执行线程。用来存放全局变量的数据段等。内核需要管理所有的细节。线程,是在进程中活动的对象,每个线程都拥有一个独立的程序计数器,进程栈和一组进程寄存器。进程描述符(task_struct)是任务队列(双向循环链表中)的类型。二、进程的五种状态:运行态:或者...
select,poll,epoll 一、io 多路复用技术 select 和pollselect:IO复用模型是多了一个select函数,select函数有一个参数是文件描述符集合,意思就是对这些的文件描述符进行循环监听,当某个文件描述符就绪的时候,就对这个文件描述符进行处理。多个的进程的IO可以注册到一个复用器(select)上,然后用一个进程调用该select, select会监听所有注册进来的IO; 如果s...
五种网络io模型 1 阻塞式IO模型在阻塞狀態下,程序是不會浪費CPU的,cpu只是不执行io操作了,还会去做别的。当发现有数据的时候会把数据读到用户指定的缓冲区。但是如果这个时候读到的数据量比较少,比参数中指定的长度要小,read并不会一直等待下去,而是立刻返回。read的原则是数据在不超过指定的长度的时候有多少读多少,没有数据就会一直等待。所以一般情况下我们读取数据都需要采用循环读的方式读取数据,一...
数据库高并发常见方案 一、想办法减小查询次数1,页面静态化- 用户可以直接获取页面,不用走那么多流程,比较适用于页面不频繁更新。2,使用缓存- 第一次获取数据从数据库准提取,然后保存在缓存中,以后就可以直接从缓存提取数据。不过需要有机制维持缓存和数据库的一致性。3,使用储存过程-那些处理一次请求需要多次访问数据库的操作,可以把操作整合到储存过程,这样只要一次数据库访问就可以了。4,批量读取 - 高并发情...
mysql数据库查询好慢解决方法 一、慢查询:MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句1,slow_query_log这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。2,long_query_time当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短。3,slow_query_log_file记录日志的文件名。4,log_queries_not_using...
golang 深入剖析,初始化,编译器,目标文件,链接器 一、go程序初始化顺序在 main 包中的 go 文件默认总是会被执行 同包下的不同 go 文件,按照文件名“从小到大”排序顺序执行 其他的包只有被 main 包 import 才会执行,按照 import 的先后顺序执行 被递归 import 的包的初始化顺序与 import 顺序相反,例如:导入顺序 main –> A –> B –> C,则初始化顺序为 C –&g...
ip、tcp、udp、arp 一、IP:差错检验 IP数据报只检验IP数据报的首部 首部格式 版本,首部长度,区分服务,总长度,标志,片偏移,生存时间,协议,首部检验和 二、UDP:作用 复用和分用的功能,以及差错检验功能的实现 差错检验 把首部和数据部分一起检验,只能检验到达的数据是否有错。 首部格式 (源ip地址,目标ip地址检验的时候有)源端口,目的端口,udp长度,...
HTTP1.0、HTTP1.1、HTTP2.0的关系和区别 一、汇总对比HTTP1.0 无状态、无连接 HTTP1.1 持久连接 请求管道化 增加缓存处理(新的字段如cache-control) 增加Host字段、支持断点传输等(把文件分成几部分) HTTP2.0 二进制分帧 多路复用(或连接共享) 头部压缩 服务器推送 二、H...
TCP 三次握手,四次挥手 一、Tcp建立连接1、建立连接过程中要解决的问题:①要使每一方能够确知对方的存在②要允许双方协商一些参数:如最大窗口值,是否使用窗口扩大选项和时间戳选项以及服务质量等。③能够对运输实体资源:如缓存大小,连接表中的项目等进行分配2、三次握手3、为什么A还要再一次确认?防止已经失效的连接请求报文段突然又传送到B,而产生错误例如:A发送的第一个超时的请求连接的报文,...
mysql 分表分区 一、分表1、垂直分割:就是将一个表按照字段来分,每张表保证有相同的主键就好。一般来说,将常用字段和大字段分表来放。 优势:比没有分表来说,提高了查询速度,降低了查询结果所用内存;劣势:没有解决大量记录的问题,对于单表来说随着记录增多,性能还是下降很快;2、水平分割:水平分割是企业最常用到的,水平拆分就是大表按照记录分为很多子表: ...
mysql 知识总结 一、主键,外键,超键,候选键;超键 在关系中能唯一标识元组的属性集,里面可能包含很多能唯一标识元组的属性 候选键 不含有多余属性的超键,即它里面的属性一旦去掉任何一个,它就不是超键 主键 用户选作元组标识的一个候选键 外键 该列为另一表的主键; 二、数据库范式1NF 每一列都是不可分割的基本数据项,同一列无二值;无重复的域; ...
mysql 索引 数据库索引是存储到磁盘的而我们又一般以使用磁盘I/O次数来评价索引结构的优劣。先从B-Tree分析,根据B-Tree的定义,可知检索一次最多需要访问h-1个节点(根节点常驻内存)。数据库系统的设计者巧妙利用了磁盘预读原理,将一个节点的大小设为等于一个页,这样每个节点只需要一次I/O就可以完全载入。为了达到这个目的,在实际实现B-Tree还需要使用如下技巧:每次新建节点时,直接申请一个页的空间,这样...