自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cugbtang

当初没这眼光!

  • 博客(129)
  • 收藏
  • 关注

原创 python看这一篇就够了

1、os与syshttps://blog.csdn.net/liu5257/article/details/53740214os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。2、线程(池)与进程(池)https://www.cnblogs.com/aland-1415/...

2019-07-28 17:44:47 254

原创 项目经验嘿嘿嘿

文章目录开源项目打地基无工作经验bbs-goGin-vue-adminrpcxgo-kit有工作经验zinxgo-zerogo-nsqTidbkubernetesPrometheus总结开源项目打地基以下内容来自公众号Golang梦工厂asong大佬针对有无工作经验的分别推荐几个开源项目无工作经验对于还在上学的朋友们,除了知道必要的基础知识外,也要有1-2个拿的出手的项目,光有基础,没有实践,很难过去简历这一关,对于学生而言,简单的crud还是要熟练掌握的,接下来就推荐几个文档比较齐全的web项目

2021-12-12 16:38:07 508 1

原创 DOCKER-PRE

文章目录一、docker入门1、docker的安装及入门示例2、docker的理论概念二、镜像管理三、镜像仓库管理四、容器管理五、网络管理七、镜像仓库管理系统搭建八、maven构建springcloud镜像九、编排构建springcloud实例一、docker入门1、docker的安装及入门示例环境准备:docker需要安装在centos7 64位系统上;docker要求系统内核在3.10以上查看系统内核:uname -r安装命令:yum -y install docker-io

2021-11-16 08:56:12 370

原创 Go 的设计哲学看这一篇就够了

Go 的设计哲学看这一篇就够了引言这篇2017年的文章引发看到 go-coding-in-go-way 引发深思:写着写着,就是发现自己写的代码总是感觉很别扭,并且总是尝试在Go语言中寻找自己上一门语言中熟悉的语法元素;自己的代码风格似乎和Go stdlib、主流Go开源项目的代码在思考角度和使用方式上存在较大差异目标学习和使用一门编程语言,目标就是要用这门语言思维方式去Coding。学习Go,就要用Go的编程思维去写Go代码,而不是用其他语言的思维方式。前提是达成这样的共识决定编

2021-11-08 21:00:47 658

原创 Go的IO管理看这一篇就够了

文章目录Go 的IO首要问题,内核中的缓冲和进程中的缓冲Operating System --- linux的文件I/O系统引言重要概念Go 的IOGo 和 IO的不解之缘Go的IO长什么样子IO 的姿势多种多样Go的IO具有是怎么利用内核的IO的呢?Go 的IO首要问题,内核中的缓冲和进程中的缓冲内核中的缓冲无论进程是否提供缓冲,内核都是提供缓冲的,系统对磁盘的读写都会提供一个缓冲(page/buffer cache),将数据写入到页/块缓冲进行排队,当页/块缓冲达到一定的量时,才能把数据写入

2021-09-25 22:19:57 1691

原创 Go 的内存管理看这一篇就够了

文章目录Go 的内存管理第一章 OS是怎么管理内存的?Go为什么要有自己的内存管理?OS内存管理的主要机制第二章 Go 的内存管理第一节 管理模型第二节 逃逸分析第三节 垃圾回收参考Go 的内存管理本文主要参考大佬分析内存的系列文章,参杂自己的思考,谨以记录和传播知识第一章 OS是怎么管理内存的?Go为什么要有自己的内存管理?Go语言的内存管理是建立在OS的内存管理之上的.设计的目的是最大化的发挥OS内存管理层面的优势,避开导致低效情况.OS内存管理的主要机制现在计算机内存管理的方式都是一步

2021-09-24 21:35:07 4181

原创 Effective Engineering---(go)that‘s enough for flag

aaa

2021-07-23 11:17:39 96

原创 GC看这一篇就够了

文章目录引言非追踪追踪式单核多核Go的GCQAQ1:哪些指针是GC感兴趣的?Q2工作队列Q3:CPU UtilizationQ4:Memory allocQ5:Hybrid BarrierQ6:CPU Trigger感谢幼麟实验室的生动讲解垃圾回收之写屏障go GC探秘引言由于函数调用栈会在函数返回后销毁,如果不能在编译阶段确定数据对象的大小或者对象生命周期超出当前所在函数,那就不适合分配在栈上 而应该分配到堆上他们占用的内存需要程序主动释放才可以重新使用 否则成为垃圾非追踪引用计数

2021-07-09 18:04:22 208

原创 how write api?

接口错误码存放在那里?错误码是放在http的body里面,还是使用http status code?答: 成功的时候http status code 返回200,失败的时候 返回非200失败的时候可以定义一个固定值,比如500 然后在具体的错误码放在body的json中原由:1、爬虫2、自定义code的数量比http status code定义的要多很多一个组件由多个接口组成还是一个接口组成?后端统一输出什么逻辑应该放前端,什么逻辑应该放后端?把显示相关的放在前端有影响业务的放在后端h

2021-07-04 13:26:22 85

原创 thanos源码分析

使用到的第三方包借鉴prom,采用kingpin进行command、flag解析使用github.com/oklog/run 包来启动一组协程http server、grpc server、动态发现位于下游的实现STORE API的组件github.com/go-kit/kit 微服务框架最佳实践1、prom是有状态的节点,我们把基础prom和stroe当作数据源2、ruler也是数据源,可以根据数据中心位置启用一组或者多组供快速预计算3、query是无状态的,我们可以无限扩展

2021-06-28 11:59:33 714 1

原创 pmp高级看这一篇就够了

2021-04-27 15:37:22 689

原创 CSAPP漫游看这一篇就够了

原码 反码 补码编写完程序后,多编译看看单指令多数据架构,(GPU为什么火?深度学习为什么提倡用GPU)【优秀的路人甲】

2021-04-27 12:29:22 88

原创 devops的背景看这一篇就够了

文章目录DevOps工程师DevOps工程师的角色和职责DevOps工程师技能DevOps团队的角色和职责总结DevOps工程师工程师首先要具有工程化的思想、工程化的知识体系和工程化的最佳时间。所以,DevOps工程师应该是一位IT专家,应该对开发和运维工作都有广泛的了解,包括linux生态、kubernetes生态、jira生态和人际交往能力。DevOps工程师需要对通用系统体系结构有深刻的了解,还必须具有传统开发人员的工具技能和实践的经验,例如源代码控制,代码审查,编写单元测试等。Dev

2021-04-24 23:13:03 717

原创 云原生背景看这一篇就够了

An Introduction to the Cloud Native Landscape

2021-04-24 20:58:37 661

原创 设计基础决定上层建筑之go协程

文章目录内存管理模型进程 线程协程强调,该文的整理内容图片全部来自幼麟实验室内存管理模型说协程,为啥先开始了内存呢?不管是啥程,它的信息都要到内存,内存是怎么管理的直接影响上层建设啊,说的在理内存隔离的必要性又要从历史说起,刚开始 人们用内存的时候 很直接,操作系统用哪个,你用哪块,我用哪块 都知道,很容易打架虚拟内存的出现,它是怎么设计的呢?先说说历史原因,当时人们觉得4G好大啊,硬件水平也不支持,主流32位处理器完美利用每一位1、虚拟内存到物理内存是以页为

2021-02-27 18:24:25 179

原创 设计基础决定上层建筑之go类型

看标题,go语言类型,那它有多少种呢?为什么会是这么呢?第一,解决第一个问题百度/google,让有心人告诉你一手消息的爱好者来自官网原来还可以这样,Junedayday告诉我们func main() { for i:= reflect.Invalid; i <= reflect.UnsafePointer; i++{ fmt.Printf("%d:%s\n",i,i.String()) }}// 没错 0 ~ 26 ,内部就是用数字和类型的对应关系构建的,基架0:inva

2021-02-25 17:51:48 301

原创 设计基础决定上层建筑之go函数语法糖

文章目录函数方法以下截图均来自幼麟实验室,总结的比较形象,直接爱了函数函数调用的栈帧分配情况go语言中栈指针是一次性分配所需最大栈空间的位置,为了避免访问越界,编译期间确定然后通过栈指针加偏移值这种相对寻址方式使用函数栈帧流程:函数通过call指令实现跳转每个函数开始时会分配栈帧结束前又会释放自己的栈帧ret指令又会把栈恢复到call之前的样子函数调用返回值情况通常我们认为函数返回值是通过寄存器传递的但是,如果要返回值个数比寄存器还多的话,在栈上分配返回

2021-02-25 17:48:15 220

原创 Effective Engineering---(go)that‘s enough for error

文章目录一、标准库分析1.1、简介1.2、使用和设计原理小结:通过源码,我们能学习什么呢?二、满足不了,真实的需求是什么呢?三、分析第三方库的设计四、我们从标准库和第三方库中学到了什么?总结一、标准库分析它是【内置类型】The error built-in interface type is the conventional interface for representing an error condition, with the nil value representing no error.

2021-01-31 20:55:55 107

原创 Effective Engineering---(go)that‘s enough for log

一、标准库分析1.1、简介1.2、使用和设计原理为什么会这么设计呢?二、满足不了,真实的需求是什么呢?三、分析第三方库的设计四、我们从标准库和第三方库中学到了什么?总结

2021-01-29 23:56:58 285

原创 CKA看这一篇就够了

Certificated Kubernetes Administrator声明:本文主要参考华为培训最全面的知识来自官网面向Kubernetes管理员的认证考核运维K8s集群所需的知识、技能,最重要是熟练度模块一:Kubernetes核心概念 19%有了Docker,为什么还需要K8s:集群中多个容器怎么通信?多个相同的容器怎么一起提供服务?K8s是什么:开源的容器集群编排框架K8s集群架构与组件:CS架构 MASTER(apiserver/schedule/manager/

2021-01-04 10:55:15 3363 1

原创 Operator看这一篇就够了

一、prometheus-operator概念:Operator 作为K8S第三方组件,它主要以CRD为基础,根据CRD资源的变化情况,执行一系列的操作。实现对复杂的有状态应用进行简单的配置和管理。Operator 是最核心的部分,作为一个控制器,它会持续观察 Prometheus、ServiceMonitor、以及 PrometheusRules 3 个 CRD 资源对象原理CRD 作为 Prometheus Server 存在,而 ServiceMonitor 负责定位 exporter,

2021-01-01 22:05:48 333

原创 工欲善其事必先利其器-regex看这一篇就够了

正则常用表正则表达式30分钟入门教程 作者:deerchaoRegex tutorial ——A quick cheatsheet by examples(英文)作者:Jonny FoxRegular Expressions Tutorial(英文)

2020-12-06 21:28:27 122

原创 工欲善其事必先利其器-极客工具

一、pc必备18:vscode nodepad++ editplus sublime 天翼云盘格式工厂 PotPlayer Bandizip IDM 万彩办公大师火绒 Everything IObitUninstaller Bandicam 7zEdge Rolan ScreenToGif二、安卓必备12:1.IObit Unlock 强制解锁文件进程2.空文件夹删除 检测删除空文件夹3.FolderPainter 给文件夹染色 黄色文件夹再见4.Copytranslator 备受好

2020-11-05 16:51:38 1996

原创 kubernetes-operator最佳实践之kube-prometheus

一、概念在 Kubernetes 中一切皆资源当你创建一个新的CustomResourceDefinition (CRD)时,Kubernetes API将为你指定的每个版本创建一个新的RESTful资源路径CRD可以是命名空间的,也可以是集群范围的,由CRD的作用域(scpoe)字段中所指定的,与现有的内置对象一样,删除名称空间将删除该名称空间中的所有自定义对象CRD本身没有命名空间,所有命名空间都可以使用二、分析kube-prometheuskube-prometheus正如文中开头

2020-11-05 16:41:57 392

原创 prometheus-exporter开发看这一篇就够了

文章目录一、分析node_exporter二、 自定义exporter一、分析node_exporter前面的 scrape describe Collect 是struct类型的成员函数,这⼏个函数并没有直接在这个go里被调用,而是MustRegister注册进去了它们。http.Handle里的prometheus.Handler 将上⼀部2个Mustregister的注册 关联进⼊http.handle. 也就进⼀步注册进入了httpserver-listernerhttp.lis

2020-11-05 14:55:50 3943

原创 rancher看这一篇就够了

文章目录一、Rancher最好的学习地方-[官网](https://rancher.com/docs/rancher/v2.x/en/)二、Rancher 2.5+ 下一代kubernetes管理一、Rancher最好的学习地方-官网二、Rancher 2.5+ 下一代kubernetes管理

2020-10-22 21:40:09 189

原创 consul看这一篇就够了

一、概述最实在去官网实现分布式系统的服务发现与配置(Service Discovery And Configuration Make Easy)微服务治理 的所有解决方案本身也是分布式高可用的Service Discovery: 当某个应用可用的时候,可以向 consul 客户端注册自己,或者让 consul 客户端通过配置发现自己,这样, 如果有需要这个应用的其他应用就可以通过 consul 快速找到一个可用的应用了。Health Check: consul 客

2020-09-13 20:45:55 924

原创 证书看这一篇就够了

一、先熟悉几个名词CA,为xxx公钥做认证证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)数字证书用CA的公钥解密创建证书的基本流程是这样:生成自己的服务端私钥 Server Key openssl genrsa -out server.key 4096输入基本信息并用私钥签名生成CSR 证书签名请求 openssl req -new -nodes -sha256 -newkey rsa:2048 -key

2020-09-04 16:25:27 225

原创 最强概念总结Etcd、Lvs、HAProxy、Kubernetes

最强面试总结,我是服了这哥们儿了,宣传给你打在开头一、ETCDetcd 是 CoreOS 团队发起的开源项目,是一个管理配置信息和服务发现(service discovery)的项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于 Go 语言实现。特点:简单:支持 REST 风格的 HTTP+JSON API安全:支持 HTTPS 方式的访问快速:支持并发 1k/s 的写操作可靠:支持分布式结构,基于 Raft 的一致性算法,Raft 是一套通过选举主节点来实现分

2020-08-16 12:22:19 979

原创 概念汇总看这一篇就够了

1、消息队列kafka vs rabbitmq没有最好的队列,只有最合适的队列Kafka:1.从A系统到B系统的消息没有复杂的传递规则,并且具有较高的吞吐量要求。2.需要访问消息的历史记录的场景,因为kafak是持久化消息的,所以可以通过偏移量访问到那些已经被消费的消息(前提是磁盘空间足够,kafka没有将日志文件删除)3.流处理的场景。处理源源不断的流式消息,比较典型的是日志的例子,将系统中源源不断生成的日志发送到kafka中。rabbit:1.需要对消息进行更加细粒度的控制,包括

2020-07-19 11:12:49 173

原创 thanos云原生部署大规模监控看这一篇就够了

文章目录第一、使用 kube-prometheus 快速上手集群监控第二、对单机无高可用、无扩展的优化1、从服务维度拆分 Prometheus2、对超大规模的服务做分片3、拆分引入的新问题4、集中数据存储5、联邦5、 高可用第三、Thanos解决以上所有问题1、概述2、架构设计剖析3、Thanos 部署与实践之前的文章主要是介绍prometheus和一些常规的监测,意在告诉我们有这个功能。这篇文章主要是借鉴了roc同学的文章,思路很清晰:快速监控集群按业务划分/拆分单个大规模业务成多个grou

2020-07-18 12:58:09 2137

原创 yaml文件解读

yaml科普还是菜鸟来的快,多看看例子每个缩进级别由两个空格组成数组(List、Set):列表用一个短横杠加一个空格,多个项使用同样的缩进级别作为同一个列表的一部分对象、Map(属性和值)(键值对):k:(空格)v:表示一对键值对(空格必须有)“”:双引号;会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思​name: “zhangsan \n lisi”:输出;zhangsan 换行 lisi​’’:单引号;不会转义特殊字符,特殊字符最终只是一个普通的字符串数据​name

2020-07-14 16:29:55 895

原创 prometheus配置看着一篇就够了

prometheus_configjob_name如果一个job里有多台主机,只需要在targets里配置多个ip和端口即可,使用逗号隔开过滤不需要收集的指标。 如下,只收集和返回cpu和内存相关的指标- job_name: 'node' static_configs: - targets: ['192.168.68.17:9100'] params: collect[]: - cpu - meminfo每次增加 Targ

2020-07-13 22:01:30 6515 1

原创 kubernetes常用看这一篇就够了

ConfigMap更新 ConfigMap 后:使用该 ConfigMap 挂载的 Env 不会同步更新使用该 ConfigMap 挂载的 Volume 中的数据需要一段时间(实测大概10秒)才能同步更新

2020-07-12 14:41:38 204

原创 计算机科普看这一篇就够了

组装服务器网络临时修改网卡IP地址 ifocnfig ens33 1.1.1.1删除临时:ifconfig ens33:0 del 1.1.1.1重启后会恢复 systemctl restart network永久修改IP地址:1、使用nmtui文本框方式修改IP2、/etc/sysconfig-network/ifcfg-ens33一个网卡是可以配多个ip的ifocnfig ens33:0 1.1.1.1ifocnfig ens33:1 1.1.1

2020-06-07 20:18:05 549

原创 存储看这一篇就够了

文章目录Redundant Arrays of Independent Disk引言RAID0RAID1RAID5RAID10RAID磁盘失效处理删除RAID中的所有信息(拿RAID0举例子)企业中硬RAID5的配置Redundant Arrays of Independent Disk引言独立磁盘构成的具有冗余能力的阵列;磁盘阵列是由磁盘,以硬件(RAID卡)或软件(MDADM)形式组合成一个容量巨大的磁盘组,利用多个次磁盘组合在一起,提升真个磁盘系统效能。利用这项技术,将数据切割成许多区段,分

2020-06-06 17:14:41 350

原创 运维技巧看这一篇就够了

文章目录1、归零的心态2、密码破解及系统只读修复3、RAID4、故障解决经验5、智能DNS6、CDN Content Delivery Network = 内容分发网络7、数据中心路由器及交换机1、归零的心态最终目标 方向折腾 命令搭建服务 服务完整配置和优化思考和总结,找最简单的方法实现复杂功能集群架构 负载均衡 自动化运维 运维管理(多练才是硬道理)2、密码破解及系统只读修复破密 进入系统内核引导时,按e字母进入 继续按e编辑,先择kernel内核项 输入

2020-05-15 12:56:05 938

原创 网络规划设计师看这一篇就够了

文章目录1、基础知识2、案例分析3、论文1、基础知识2、案例分析3、论文

2020-05-13 17:28:56 2219 2

原创 ES操作看这一篇就够了

文章目录1、创建空索引2、删除索引3、插入数据4、更新数据5、删除数据6、搜索数据DSL 搜索是否存在7、批量操作【go封装的操作还是得看作者的】1、创建空索引PUT /onlinecurl -H "Content-Type: application/json" -X PUT --data '{"settings":{"index":{"number_of_shards":2,"number_of_replicas":"0"}}}' 172.17.0.2:9200/user2、删除索引DELE

2020-05-10 16:29:23 626

原创 容器进阶看这一篇就够了

文章目录专有名词创建container流程容器的关键技术名词资源隔离和限制images引擎containerd专有名词containerd是容器技术标准化之后的产物,为了能够兼容OCI(open container i)标准主要职责是镜像管理(镜像、元信息等)、容器执行(调用最终运行时组件执行)理论上,即使不运行dockerd,也能够直接通过containerd来管理容器。(conta...

2020-05-04 12:32:31 325

空空如也

空空如也

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

TA关注的人

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