自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机网络-网络层协议(思维导图)以及面试题总结(tcp/ip卷一笔记)

IP首部版本号:占4位,协议版本号IPV4或者IPV6。首部长度:首部长度,占4位区分服务:占8位,用来获得更好的服务,只有使用区分服务时,这个字段才起作用,一般情况不使用这个字段总长度:总长度值首部和数据之和的长度,总长度字段是16位,因而数据报的最大长度为2^16-1,当IP封装成以太网帧时,其长度不能超过最大传送单元MTU的值。标识:占16位,IP软件里面维持着一个计数器,每产生...

2020-06-30 15:21:59 15005 3

原创 Linux系统性能优化二:详解Linux内存原理

文章目录Linux内存是怎么工作的通过虚拟地址访问物理地址内存的分配与回收Linux的swap机制查看内存如何理解cache和buffer如何快准狠定位内存问题Linux内存是怎么工作的通过虚拟地址访问物理地址首先我们8g的内存,其实指的是物理内存,也就是主存,在Linux系统里边,我们的进程是不能直接访问物理内存的,它会为每个进程分配一个虚拟地址内存,然后通过虚拟地址内存去访问,在CPU的内存管理单元里边有一个页表,它会把我们的虚拟内存跟物理内存之间做一个映射,只有那些实际使用的虚拟内存才会分

2020-06-26 14:46:07 409

原创 Python内存管理和垃圾回收

文章目录垃圾回收&&内存管理引用计数器标记清除分代回收垃圾回收&&内存管理引用计数器Python它的内部有一个ref_chain环状双向列表,我们的对象都存在这个环状双向列表里面,这个环状双向链表主要保存上一个对象和下一个对象对象的类型,例如字符形等等引用计数器,ob_refcnt这个对象的值如果对象是列表,元组等,会保存他们的元素,以及个数‘环状双向链表保存的计数器,当我们使用del删除一个对象的时候,它的值就减一,如果计数器是0了,就会被回收。当我们

2020-06-13 17:25:25 366 1

原创 elasticsearch DSL语法:增删改查

查看集群的健康状态curl -X GET "10.10.31.8:9200/_cat/health?v&pretty"[root@lvs ~]# curl -X GET "10.10.31.8:9200/_cat/health?v&pretty"epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time a

2020-06-01 09:17:31 2810

原创 MySQL日志笔记

文章目录redo logredo log的持久性是怎么做到的binlog如果数据库被删,基于redo log可以恢复吗?redo log与binlog的区别什么是undo logMySQL日志主要有三种redo logredo log是MySQL的Innodb存储引擎特有的日志,redo log的作用是用来做持久化的,ACID特性的持久性,就是redo log做的,它使得MySQL拥有crash-safe能力,也就是即使数据库发生异常重启,之前提交的记录都不会丢失。当有一条记录需要更新的时候,他会先

2020-05-15 17:38:47 307

原创 单调栈解题模板

数据结构与算法,解题模板总结

2022-05-03 20:20:44 404

原创 etcd学习笔记

etcd在你的理解中它分为哪几层client网络层:client层包括v2和v3两个api库,提供了简洁易用的 API,同时支持负载均衡、节点间故障自动转移,可极大降低业务使用 etcd 复杂度,提升开发效率、服务可用性。api层:API 网络层主要包括 client 访问 server 和 server 节点之间的通信协议。raft算法层:Raft 算法层实现了 Leader 选举、日志复制、ReadIndex 等核心算法特性,用于保障 etcd 多个节点间的数据一致性、提升服务可用性等功能逻辑

2022-03-10 15:05:04 2741

原创 解决gomock报错:doesn‘t match the argument at index 1.

这个问题在stack Overflow上面有一些解答,但是由于这个报错比较泛,导致仅仅看这个报错信息很难去定位写单测的时候哪里错了,我们需要使用go test -v -run 函数名 ,或者直接在vscode上面点击run,我当时发现了有下面的报错:可见Got是有&,Want是没有&,所以可以推测是指针和引用这一块报错了,修改代码后,直接传入一个指针pod.go:37: Unexpected call to *store.MockPodStore.Create([context.TODO

2022-02-14 10:39:27 1165

原创 对于职业规划的思考

由于之前在图森未来实习接触过比较多K8s相关的运维工作,后来加入腾讯后,又专注于做Go服务端研发,慢慢倾向于往云原生方向的开发方面发展。一步步朝着后端开发-基础架构(云原生)的方向靠拢岗位要求总结:Go基础扎实,再掌握Python,C++等一门语言熟悉K8s原理,对K8s有扩展开发经验,有K8s相关的开源项目经验熟悉分布式,缓存,消息队列等中间件机制;熟悉CRI/CNI/CSI,并能够基于标准进行开发;有微服务网关等项目开发经验优先熟悉常用数据库其他:计算机基础,算法,等等阿里巴.

2021-11-08 21:46:17 699

转载 Keepalived如何解决脑裂问题

作者:灯下黑链接:https://www.zhihu.com/question/50997425/answer/136178424可以采用第三方仲裁的方法。由于keepalived体系中主备两台机器所处的状态与对方有关。如果主备机器之间的通信出了网题,就会发生脑裂,此时keepalived体系中会出现双主的情况,产生资源竞争。一般可以引入仲裁来解决这个问题,即每个节点必须判断自身的状态。最简单的一种操作方法是,在主备的keepalived的配置文件中增加check配置,服务器周期性地ping一下网关,如

2020-06-25 19:09:56 2064

转载 nginx设置防盗链

关于nginx防盗链的方法网上有很多教程,都可以用,但是我发现很多教程并不完整,所做的防盗链并不是真正的彻底的防盗链!一般,我们做好防盗链之后其他网站盗链的本站图片就会全部失效无法显示,但是您如果通过浏览器直接输入图片地址,仍然会显示图片,仍然可以右键图片另存为下载文件!依然可以下载?这样就不是彻底的防盗了!那么,nginx应该怎么样彻底地实现真正意义上的防盗链呢?首先,我们来看下nginx如何设置防盗链如果您使用的是默认站点,也就是说,您的站点可以直接输入服务器IP访问的,使用root登录,修改

2020-06-25 10:26:48 658

原创 elasticsearch7主从集群部署以及filebeat实战

前提为了保证部署成功,先关闭防火墙[root@localhost ~]# iptables -F[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# systemctl status elasticsearch.service 然后去官网把对应的rpm包下载下来,本文使用7.4.0版本,大家也可以使用其他版本。我们可以把ELFK技术栈所有的包全下载下来,如果网速慢可以私信我哈,beat采集器go语言写的,比较轻量,20多兆

2020-06-11 14:41:00 1466

原创 ansible基础以及playbook实战

文章目录ansible架构ansible配置文件ansible playbook基本介绍编写playbook的语法错误排查playbook实战playbook使用变量变量怎么定义ansible变量优先级ansible比如playbook要写的多,你没写,等于没学,记不住的,频繁报错ansible架构ansible的架构主要有下面这几部分组成:Ansible:ansible核心程序Ho...

2020-06-11 14:37:16 456

转载 腾讯云装MySQL报错:libnuma.so.1: cannot open shared object file: No such file or

记录一下问题:今天我的腾讯云服务器装MySQL5.7的时候,执行命令/usr/local/mysql/bin/mysqld --initialize --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --user=mysql在初始化mysql5.7的时候,报以下错误error while loading shared libraries: libnuma.so.1: cannot open shared object file:

2020-06-08 07:50:16 1169

原创 CentOS7源码安装部署elasticsearch集群

文章目录源码编译安装安装head插件安装ik分词器源码编译安装首先去官网下载对应的压缩包,我这里是elasticsearch-6.5.4,然后解压缩到某个目录下面,这里我部署的是es双节点集群,但是最好部署奇数个节点,防止脑裂。另外,集群节点之间是使用内网地址来互相发现的,es集群一般部署在内网上的。也就是说,如果你买了一台腾讯云,一台阿里云,那么他们之间内网ip不同,是不能搭建es集群的,即使可以相互访问9200端口[root@VM_0_11_centos elk]# tar -xf elastic

2020-06-02 19:22:20 460

转载 Elasticsearch中国社区官方博客

你好,我是Elastic的刘晓国。如果大家想开始学习Elastic的话,那么这里将是你理想的学习园地。在我的博客几乎涵盖了你想学习的许多方面。在这里,我来讲述一下作为一个菜鸟该如何阅读我的这些博客文章。我们可以按照如下的步骤来学习:1) Elastics...

2020-05-29 22:32:13 2030 1

原创 sed与awk习题练习

所有以192.168.0.1开头的加上localhost[root@web01 tmp]# cat /tmp/a1192.168.0.1 test1192.168.0.1 test2方法一:[root@web01 tmp]# sed 's/^\(192.168.0.1\)/\1 localhost/' /tmp/a1192.168.0.1 localhost test1192.168.0.1 localhost test2方法二:[root@web01 tmp]# sed 's/^192\

2020-05-26 08:39:58 919

转载 Linux三剑客以及shell编程

三剑客之sed,grepawk常用技巧awk高级进阶awk高端功能sed命令详解,vim高级技巧,shell编程上扩展正则表达式及练习linux的特殊符号与正则表达式shell编程下 特殊变量、test / [ ]判断、循环、脚本排错shell编程基础篇上shell编程基础篇下shell编程进阶篇完结...

2020-05-22 21:40:16 219

原创 5/15-6/1每日安排

接下来是比较重要的两周,需要对本学期所学知识进行整理,回顾,同时,还要补充算法基础和项目实战6:30:起床7:00-10:30:复习技能点,以及基础知识10:35-11:20:算法题12:00-12:30整理上午的笔记2:00-6:00:项目时间(Django+ansible)7:00-11:00:项目时间(Linux,nginx,MySQL等部分)...

2020-05-15 19:48:31 200 1

原创 ELK(一)使用docker搭建elasticsearch

文章目录为什么要搭建ELKELK Stack的介绍ELK Stack的架构图es介绍基本概念es基础环境搭建为什么要搭建ELK介绍: ELK是es,logstash和kibana三者的组合,他们是同一家公司开发的,在企业中经常用于进行日志采集为啥搭建ELK呢?开发人员在排查故障的时候经常需要看日志,在有些公司开发人员是没有权限登录上服务器的,有些可以登录,但是权限很少,如果某个业务,部署了很多的服务器,日志也会很多,想看日志的时候,为了方便开发人员,部署ELK对于运维人员来讲,虽然可以登录服务器

2020-05-13 22:57:25 489

转载 Python是如何实现内存管理的

python是如何进行内存管理的Python引入了一个机制:引用计数。python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收。总结一下对象会在一下情况下引用计数加1:1.对象被创建:x=42.另外的别人被创建:y=x3.被作为参数传递给函数:foo(x)4.作为容器对象的一个元素:a=[1,x,‘33’]引用计数减少情况1.一个本地引用离开了它的作

2020-05-13 20:32:03 286

原创 运维排错总结

小问题Nginx启动的时候优雅重启启动失败,然后我使用nginx直接启动试了一下看报错信息是80端口被占用[root@iZwz9hcv43i3gmo6zod6srZ local]# nginx -s reloadnginx: [error] open() "/run/nginx.pid" failed (2: No such file or directory)解决方案[root@iZ...

2020-05-12 21:06:04 846

原创 详解nginx原理与反向代理、负载均衡实战

nginx实战反向代理反向代理的配置是在location区块里面使用proxy_pass 指令进行配置。我这里有两台虚拟机做实验,第一台IP为10.10.31.8,配置了Apache服务。然后现在我使用另一台虚拟机(IP为10.10.31.10),配置nginx服务,使用proxy_pass 指令,当我们访问10.10.31.10的时候,把请求转给10.10.31.8进行访问测试,访...

2020-05-12 21:03:18 451

原创 详解协程,事件驱动模型,I/O模型

文章目录协程介绍协程的使用greenlet实现手动切换协程协程遇到I/O自动切换(gevent)使用gevent注意使用gevent实现单线程下的多socket并发协程介绍协程是什么协程是微线程,他是一种用户态的轻量级线程,它的好处是没有线程切换的开销,我们开多线程,线程的上下文切换是耗费CPU的开销的,但是多协程里边,只是一个控制流调到了另外一个控制流,它还是单线程,所以协程很适合高并...

2020-05-12 16:35:47 235

原创 ansible批量部署nginx负载均衡服务器

批量部署nginx负载均衡服务器在控制端,书写playbook代码,这里遇到的坑:我的playbook执行到安装的时候报错了,然后发现是yum仓库没有配好(epel),重新配置了yum仓库后,后面的任务都执行成功,playbook某个位置执行失败,默认是不会往下执行的,除非加个ignore_errors: yes就会忽略错误,往下执行,这里使用了jinja模板语言,在我们的配置文件中,可以使用我们定义的变量,因为template模块会渲染vars定义的变量,比如我在我的配置文件中可以使用{{ server

2020-05-09 20:20:12 398

原创 docker原理与实战:容器,镜像与数据存储

文章目录docker为什么出现docker理念docker与传统的虚拟化对比docker能干嘛(一次构建,随处运行)docker的三要素镜像操作容器docker命令总结docker底层原理docker数据存储数据卷数据卷容器docker为什么出现一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验Docker之所以发展如此迅速,也是因为它对此给出

2020-05-09 19:54:30 465

转载 Linux升级内核

原文链接:Linux升级内核一、查看Linux内核版本命令(2种方法):1、cat /proc/version2、uname -a回到顶部二、查看Linux系统版本的命令(3种方法):1、lsb_release -a即可列出所有版本信息:这个命令适用于所有的Linux发行版,包括Redhat、SuSE、Debian…等发行版。2、cat /etc/redhat-release这...

2020-05-05 20:48:23 717

原创 ssh环境配置(Linux,Windows)

1.Linux主机之间的密钥对登录客户端需要先生成密钥对文件ssh-keygen -t rsa -b 2048这里-t指定加密类型,-b指定密钥长度,密钥长度越长,就越安全,但是密钥越长,时间也会消耗较多。这里rsa加密方式已经被暴力破解,但是它的算法密钥被破解,我们在使用时,生成密钥对的长度这里必须大于1024,否则会被破解。将公钥上传到服务器‘ssh-copy-id ...

2020-05-03 20:56:34 482

原创 从0学DRF(实战与源码剖析)——节流

介绍当服务的接口被频繁调用,我们可以使用负载均衡的策略,而DRF内部为我们实现了节流(访问频率控制的功能)节流内部原理概述DRF框架在我们访问的时候,会记录来访者的IP,会记录到字典里边作为Key ,而把访问的时间加入到一个列表里边作为字典的值。节流实现的算法面试问:自定义节流有思路吗?额,比如以5秒内只能访问3次为例,首先用户访问后,它的IP会作为字典的key,然后它的访问时间加入到...

2020-05-01 23:02:12 383

原创 从0学DRF(实战和源码剖析)——版本

使用方法版本一般的两种形式a. URL中通过GET传参()自定义:http://127.0.0.1:8000/api/users/?version=v2class ParamVersion(object): def determine_version(self, request, *args, **kwargs): version = request.query_params....

2020-05-01 23:00:46 327

原创 从零开始DRF框架源码剖析—序列化与反序列

序列化组件的使用先介绍一下序列化组件的使用,之后再详细介绍源码。序列化组件有三个Serializer(偏底层)、ModelSerializer(重点)、ListModelSerializer(辅助群改)我们先讲Serializer,首先在models.py创建类,然后进行数据迁移。class User(models.Model): SEX_CHOICES = [ ...

2020-05-01 23:00:02 613

原创 keepalived原理详解

文章目录keealived介绍一下keepalived来源keeplived是怎么实现的Keepalived的主要作用keealived介绍一下keepalived来源keepalived是常用的一种高可用技术,它起初就是专门为LVS设计的,为了监控并检查LVS下面的集群结点的状态,并且具有配置LVS的功能,后来加入了实现高可用的VRRP功能,使得他不仅可以支持LVS,还可以支持nginx,...

2020-05-01 17:05:02 383

原创 Linux性能优化一:CPU优化以及平均负载的理解

文章目录前言:什么是系统性能调优到底怎么理解平均负载它和CPU使用率的关系平均负载多少合适如何分析平均负载平均负载升高的实战模拟场景:CPU密集型进程场景二:I/O密集型程序前言:对于运维工程师,我认为性能优化是很重要的一项工作,比如服务器CPU使用率过高,top命令之后怎么快速定位问题,又比如系统没有跑什么占用内存的程序,但是用free一看,内存已经不多了,应该怎么处理,或者一大早起来,za...

2020-05-01 15:13:40 1674

原创 JWT原理详解

文章目录JWT介绍JWT认证原理详解JWT介绍jwt广泛应用在系统的用户认证方面,特别是现在前后端分离项目。与传统token认证的比较:面试的时候一定要提及到相比传统的token,JWT的token不用保存在服务端传统token认证用户登录成功后,服务端生成一个随机token给用户,并且在服务端(数据库或缓存)中保存一份token,以后用户再来访问时需携带token,服务端接收到token...

2020-04-30 13:01:12 776

原创 LVS四种工作模式&&十种算法以及实战详解

文章目录负载均衡LVS入门LVS工作模式NAT模式DR(直接路由)模式TUN模式FULL-NAT模式LVS十种调度算法RR轮询算法WRR加权轮询算法SH源地址哈希算法负载均衡LVS入门简介:LVS作为一个调度器,它工作在传输层,它的性能非常好。他的性能支持400万左右的并发是没有问题的,apache服务器1万并发可能都稍微有点扛不住了,但是他的功能特别少,所以经常需要一些其他的软件协助。调度器...

2020-04-29 17:01:46 442

转载 如何准备项目面试

文章目录写在前面直接重返战场!这次,咱们不开车。教你如何一步步抓住面试官的心~1. 二面的过程是什么样的?2.如何选择/找到项目?3....

2020-04-20 09:25:30 1038 1

原创 计算机网络面试题

文章目录应用层http与httpsDNS协议传输层TCP和UDP协议应用层http与httpscookie与session的区别(Bigo,这题是高频)HTTP与HTTPS的区别(高频)HTTPS有什么了解吗?(腾讯)https连接过程说一下?(腾讯)ssl握手有了解吗?(字节)ssl连接中为什么前面用非对称加密,后面用对称加密。(腾讯)HTTP头部有什么了解吗?http/ht...

2020-04-19 19:32:12 322

转载 阿里巴巴/腾讯等大厂面经

作者:Ingram_Zhao链接:https://www.nowcoder.com/discuss/369542来源:牛客网PS:牛客网关于运维开发相关岗位面经和帖子是在太少了(难受),然后与同样想要从事SRE和运开岗位的小伙伴分享(阿里4部门凉经)公司部门及团队:阿里巴巴-CBU-SRE团队岗位:SRE开发工程师面试时间:2020/2/21 90min前言:通过牛客网加群进行内推,...

2020-04-18 15:30:01 683

原创 从0学DRF:源码剖析与实战(三)-----权限

源码过程分析由于CBV中,请求是先从dispatch()方法进去,我们像第一篇中研究认证一样,先看dispatch()的源码 def dispatch(self, request, *args, **kwargs): """ `.dispatch()` is pretty much the same as Django's regular dispatch...

2020-04-12 13:00:20 152

原创 从零学DRF:源码剖析与实战(四)——视图

文章目录两个视图基类介绍APIViewGenericAPIViewGenericAPIView源码五个视图扩展类常用功能子类视图(工具视图)使用示例源码分析两个视图基类介绍APIViewAPIView是REST framework提供的所有视图的基类,继承自Django的View父类。相比View,主要多出来的功能有:视图方法可以返回rest_framework中的Response对象...

2020-04-11 19:44:56 304

空空如也

空空如也

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

TA关注的人

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