自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(278)
  • 资源 (11)
  • 收藏
  • 关注

原创 client-go源码分析--Indexer, cache, threadSafeMap

前言本文主要聚焦client-go controller框架的Indexer对象,分析Indexer的实现。1 cache - indexer对象关系golang的struct和interface之间是弱耦合关系,即struct只需要实现了某个interface的所有方法,就认为该struct实现了该interface。cache和Store对象关系如下:从类的实现、组合关系上可见,...

2019-11-18 11:37:26 630

原创 golang结构体匿名字段的妙用

先看一段简单的代码:package mainimport ( "fmt")type A struct { B m int}type B struct { n int}func (b *B) my_print() { fmt.Printf("print B.n=%d\n", b.n)}func main() { a := &A{B{2}, 3}...

2019-01-22 16:18:31 4422 1

转载 K8S 性能优化 - K8S APIServer 调优

-watch-cache-sizes: 系统根据环境启发式的设定;用于 pods/nodes/endpoints 等核心资源,其他资源参考 default-watch-cache-size 的设定;--max-mutating-requests-inflight: 默认值 200;建议 800 或更高;--delete-collection-workers:默认值 1;--default-watch-cache-size:默认值 100;--max-requests-inflight: 默认值 400;

2023-07-07 11:14:41 393

转载 IDEA的debug调试技巧详解

debug调试也叫断点调试在程序的某一行打上断点,则在debug模式下运行到断点位置时会暂停,便于程序员观察代码的执行情况学会debug,有助于在程序运行未达到理想情况时,对程序的各个流程进行分析本文只详细描述了debug的一些基本的常用操作,如果有缺漏欢迎评论区留言~

2023-04-12 11:42:31 819

转载 MySQL的MVCC实现原理

MVCC全称是Multi-Version Concurrency Control(多版本并发控制),是一种并发控制的方法,通过维护一个数据的多个版本,减少读写操作的冲突。如果没有MVCC,想要实现同一条数据的并发读写,还要保证数据的安全性,就需要操作数据的时候加读锁和写锁,这样就降低了数据库的并发性能。有了MVCC,就相当于把同一份数据生成了多个版本,在操作的开始各生成一个快照,读写操作互不影响。无需加锁,也实现数据的安全性和事务的隔离性。事务的四大特性中隔离性就是基于MVCC实现的。

2023-03-27 16:53:13 435

转载 Mysql-详解脏读、不可重复读、幻读

Mysql有四种事务隔离级别,这四种隔离级别代表当存在多个事务并发冲突时,可能出现的脏读、不可重复读、幻读的问题。

2023-03-27 16:21:21 170

转载 MySQL-如何分库分表?一看就懂

分库分表方案是对关系型数据库数据存储和访问机制的一种补充。分库:将一个库的数据拆分到多个相同的库中,访问的时候访问一个库分表:把一个表的数据放到多个表中,操作对应的某个表就行。

2023-03-22 16:46:39 210

转载 阅读 Go 源码,你需要了解这几个编译器指示

编译器接受注释形式的指示。比如我们常见的//go:xxx的形式出现在方法前面上方。为了将其与非指示注释区分开,编译器指示要求在注释开头和指示名称之间不需要空格。但是由于它们是注释,故而不了解指示约定或特定指示的工具可以像其他注释一样跳过指示。以// line或/ * line开头的行指示行指示有如下几种形式:为了被识别为行指示,注释必须以// line或/ * line开头,后跟一个空格,并且必须至少包含一个冒号。

2023-02-08 10:21:39 258

原创 Golang学习:生成文档和示例代码

类似与javadoc,go也可以自动生成doc文档。我们主要使用到的是godoc命令。

2023-02-06 16:54:47 1581

转载 为高效 Ops 和 SRE 团队准备的 10 个开源 k8s 工具

日志查看器你可以基于标准的标签选择器匹配,通过名字,通过服务,通过部署,等等。除了拓扑视图,Weave Scope也提供了一个深入视图,比如节点和进程之间的任何事情,包括部署,服务,副本集,pods 和容器。Kube-ops-view为多个Kubernetes集群提供了一个通用的操作视图,对于SRE和Ops团队来说这是一个方便的工具,Kube-ops-view提供只读的系统仪表。它为你的应用自动的构建逻辑拓扑以及基础设施,以便你的SRE和Ops团队可以直观的明白,监控,控制你的容器,基于应用的微服务。

2023-01-31 16:26:57 516

转载 Go gcflags/ldflags 的说明

通常一起使用,用来减少可执行文件的体积。但删除了调试信息后,可执行文件将无法使用 gdb/dlv 调试。arg list 是空格分割的编译选项,如果编译选项中含有空格,可以使用引号包起来。调试,因为找不到代码的符号信息。go build 时可以使用。更多的模式的说明请参考。运行的进程,也无法用。

2023-01-16 19:54:38 2043

转载 Go 函数调用 ━ 栈和寄存器视角

Go 语言完全使用栈来传递参数和返回值并由调用者负责清栈,通过栈传递返回值使得Go函数能支持多返回值,调用者清栈则可以实现可变参数的函数.Go 使用值传递的模式传递参数,因此传递数组和结构体时,应该尽量使用指针作为参数来避免大量数据拷贝从而提升性能.Go 方法调用的时候是将接收者作为参数传递给了callee,接收者分值接收者和指针接收者.

2023-01-06 15:08:09 376

转载 深入 Go 语言 defer 实现原理

GO栈帧,汇编

2023-01-05 20:23:36 126

原创 interface接口--GO面向对象编程思想

go interface面向对象思想

2023-01-05 10:15:31 467

原创 k8s部署fabric 2.4

k8s部署fabric 2.4

2022-12-12 14:22:13 1011

翻译 深入 net/http:看一下 http.RoundTripper

Github 的 api 的某些部分需要对请求进行身份验证,有些则不需要。默认情况下,该库不处理身份验证,它使用默认的 HTTP 客户端,如果您需要能够访问 api 的经过身份验证的部分,您可以携带自己的 HTTP 客户端,例如。中总是相同的,并且考虑到 API 调用是有速率限制的,并且由于您的应用程序的高使用率,您几乎总是达到/超过限制。. 我们将创建一个只响应一个路由的服务器,然后创建一个连接到该服务器的客户端包。另一件需要注意的事情是,无论我们是否访问服务器,响应的主体都会保持不变。

2022-11-24 19:15:30 272

原创 fission使用指南

Fission 是由私有云服务提供商Platform9领导开源的 serverless 产品,它借助 kubernetes 灵活强大的编排能力完成容器的管理调度工作,而将重心投入到 FaaS 功能的开发上,其发展目标是成为 AWS lambda 的开源替代品。从 CNCF 视角,fission 属于 serverless 平台型产品。

2022-11-11 16:43:27 670

原创 fission源码分析--fission调用http请求流程分析

fission源码分析

2022-11-11 14:28:32 580

转载 UML建模--用例图

包含是用来把一个复杂的用例表示为一个功能分解的较小步骤,包含关系典型的应用就是复用,也就是定义中说的情景,但是有时候当某个用例的事件流太过于复杂时,我们也可以把一段事件流抽象成一个被包含的用例;条件性:泛化中的子用例和include中的被包含的用例会无条件发生,而extend中的延伸用例的发生是有条件的;另外一点需要提及的是:泛化中的子用例和扩展中的扩展用例均可以作为基本用例事件的备选择流而存在。对extend而言,延伸用例并不包含基础用例的内容,基础用例也不包含延伸用例的内容。

2022-11-03 11:36:42 2718

原创 dapr源码分析--injector

在阅读dapr injector源码之前,需要知道k8s的动态准入控制原理,否则无法理解代码的功能。

2022-10-28 17:19:43 784

原创 关于dapr跨k8s集群服务调用的可行性方案

命名解析器提供了一种与不同命名解析器互动的通用方法,这些解析器用于返回你的应用程序可能要连接到的其他服务的地址或IP。兼容的名称解析器需要实现 nameresolution.go 文件中的 Resolver 接口。// Resolver是命名解析器的接口。}// ResolveRequest 表示服务发现解析器请求。}本文的思路只针对k8s环境,且要求多个集群ip互通,只支持dapr的服务调用,其他功能不支持。条件比较严格,思路未经实现仅供参考。

2022-10-27 20:37:57 1185

原创 dapr源码分析--服务调用

Service Invocation 是 dapr 对外提供的最基础功能, 也就是服务间调用. 另外别的一些功能也会间接使用它.本文不会介绍功能如何使用, 相关资料请查看官方文档.官方文档给出来 Service Invocation 服务间调用的示意图, 已经是非常清晰了. 因为 dapr 是 sidecar 模式运行在业务 APP 旁边, 所以我们服务间调用也是通过 dapr 做的转发, dapr 也就是在这一步做了监控, 追踪, mTLS 等功能.

2022-10-27 19:57:57 1505

原创 Daprd 流式改造

dapr grpc目前不支持流式调用

2022-10-25 17:32:46 663

转载 一文读懂 Kubernetes APIServer 原理

整个Kubernetes技术体系由声明式API以及Controller构成,而kube-apiserver是Kubernetes的声明式api server,并为其它组件交互提供了桥梁。因此加深对kube-apiserver的理解就显得至关重要了。

2022-10-25 11:25:45 735

原创 k8s crd和API Aggregation的区别

尽管添加新的 CRD 不会自动带来新的失效点(Point of Failure),例如导致第三方代码被在 API 服务器上运行, 类似 Helm Charts 这种软件包或者其他安装包通常在提供 CRD 的同时还包含带有第三方代码的 Deployment,负责实现新的定制资源的业务逻辑。定义 CRD 对象的操作会使用你所设定的名字和模式定义(Schema)创建一个新的定制资源, Kubernetes API 负责为你的定制资源提供存储和访问服务。就是将定制资源与定制控制器相结合的。

2022-10-25 11:24:19 589

转载 图解kubernetes中api聚合与CRD概要设计

kubernetes中apiserver的设计无疑是复杂的,其自身内部就包含了三种角色的api服务,今天我们一起来臆测下其内部的设计,搞明白aggregator、apiserver、apiExtensionsServer(crd server)的设计精要。

2022-10-25 10:48:11 525

转载 K8S 之系统扩展 CRD/ 自定义 API Server

kubernetes扩展

2022-10-25 10:45:30 598

原创 Protocol Buffers 学习小结

protocol buffer

2022-10-24 15:42:07 147

转载 gRPC 实操指南(golang)

grpc实例--golang

2022-10-24 14:26:44 3101

转载 彻底搞懂 Kubernetes 中的认证

Kubernetes 中的认证

2022-10-13 10:43:36 2109

转载 k8s之限流机制

k8s限流机制

2022-10-12 14:38:52 614

原创 Go 编程模式:k8s Visitor 模式

k8s visitor模式

2022-10-10 11:26:53 241

原创 kubernetes scheme原理分析

kubernetes scheme原理

2022-09-30 16:28:43 519

原创 k8s 资源外部版本和内部版本

k8s resource概念

2022-09-30 11:57:33 1365

转载 k8s基础1之API概念与http path

k8s api 与 http请求

2022-09-29 17:16:15 226

原创 k8s概念之GVK与GVR

gvk vs gvr

2022-09-29 17:03:26 1833

转载 Docker设置容器CPU、memory、磁盘IO资源限制

Docker设置容器CPU、memory、磁盘IO资源限制

2022-09-28 20:15:45 4224

转载 混部之殇-论云原生资源隔离技术之CPU隔离

cpu隔离技术

2022-09-28 19:58:38 467

转载 一图看懂什么是区块链

区块链

2022-05-25 10:11:14 750 1

原创 k8s部署EFK实现日志管理(mac desktop)

k8s 日志管理系统

2022-04-14 19:25:59 838

git权威指南第二版

GIT权威指南第二版(高清版)带书签,彩色版,此书涉及到工具发展史讲解,不同平台安装方式,实战使用场景。

2019-02-22

Go并发编程实战 第2版 .pdf

本书全面介绍了Go语言的特点、安装部署环境、工程规范、工具链、语言语法、并发编程模型以及在多个编程实战中的应用,重点阐述了Go语言并发编程模型和机制。本书共分为四个部分,介绍了Go语言编程环境搭建、Go语言基础编程、Go语言并发编程方法及其原理,以及使用Go语言开发的应用系统的案例讲解。 本书适用于有一定计算机编程基础的从业者以及对Go语言编程感兴趣的爱好者,非常适合作为Go语言编程进阶教程。

2018-10-25

《http权威指南》高清完整中文带标签

HTTP 权威指南,真正的高清完整pdf ,可以搜索,可以复制,无限放大,非扫描版本,入门学习 HTTP Web 开发必读

2018-09-30

《http权威指南》高清中文

4分 HTTP权威指南 高清完整版PDF 带书签 《HTTP权威指南》由古尔利所著,《HTTP权威指南》详细解释了如何用HTTP来开发基于Web的应用程序,核心的因特网协议如何与架构构建块交互,如何正确实现因特网客户和服务器等。《HTTP权威指南》的中心内容是HTTP,本质是理解Web的工作原理,以及如何将这些知识应用到Web编程和管理之中,主要涵盖HTTP的技术运作方式、产生动机、性能和目标以及一些相关技术问题。 《HTTP权威指南》适合所有想了解HTTP和Web底层结构的人阅读。

2018-09-27

visual studio code

Visual Studio Code是个牛逼的编辑器,启动非常快,完全可以用来代替其他文本文件编辑工具。又可以用来做开发,支持各种语言,相比其他IDE,轻量级完全可配置还集成Git感觉非常的适合前端开发,是微软亲生的想必TypeScript会支持的非常好。 所以我仔细研究了一下文档未来可能会作为主力工具使用。

2018-09-03

Go入门指南

《Go入门指南》全书中文版本,是一本学习GO语言不可多得的好书!

2018-09-03

TCP-IP详解

高清晰PDF完整目录书签。包括卷一卷二卷三完整三卷。 第一卷 《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。 本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 第二卷 本书完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15 000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。本书不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别。还介绍了4.4BSD-Lite版的新的特点,如多播、长肥管道支持、窗口缩放、时间戳选项以及其他主题等等。读者阅读本书时,应当具备卷1中阐述的关于TCP/IP的基本知识。本书适用于希望理解TCP/TP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。 第三卷 第三卷的内容细节覆盖了当今TCP/IP编程人员和网络管理员必须熟练掌握的四个基本方面

2018-04-13

算法导论_中文版_第三版

《算法导论》原书名——《Introduction to Algorithms》,是一本十分经典的计算机算法书籍,与高德纳(Donald E.Knuth)的《计算机程序设计艺术》(《The Art Of Computer Programming》)相媲美。 《算法导论》由Thomas H.Cormen、Charles E.Leiserson、Ronald L.Rivest、Clifford Stein四人合作编著(其中Clifford Stein是第二版开始参与的合著者)。

2018-04-11

游戏核心算法编程内幕.pdf

游戏算法电子书 感觉不错 分享给大家 游戏核心算法编程内幕.pdf

2018-04-10

PyQt所有类总结

高清,总结了pqt的所有类,每个类带有超链接,可以访问到具体的类信息

2018-01-08

空空如也

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

TA关注的人

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