首页
学习
活动
专区
工具
TVP
发布

黑光技术

专栏作者
88
文章
143043
阅读量
17
订阅数
【译】如何在生产环境跟踪 GO 函数的参数
原文地址:https://blog.px.dev/ebpf-function-tracing/
黑光技术
2023-02-15
7650
【译】如何使用 eBPF 检测分析用户态程序
这篇文章较好的介绍使用 eBPF 对几种语言开发的应用程序进行可观测分析。介绍的也比较详细,对这块有兴趣的同学可以深入学习。
黑光技术
2022-11-29
1.3K0
k8s 代码走读---client-go 编程交互测试代码
这部分还是以 client-go 为基础的代码测试,今天这里分享的一个是我测试过的 client-go 代码例子,
黑光技术
2020-09-10
9490
k8s代码走读---client-go编程交互基础
代码 clone 地址:https://github.com/kubernetes/client-go。实际上在 kubernetes 的源码中也包含了这部分代码:vendor/k8s.io/client-go/。看代码都没问题。
黑光技术
2020-08-18
7540
k8s代码走读---kube-controller-manager
今天开始走读 k8s 的代码,走读代码还是非常有意思的。首先选择的是 controller-manager 这个组件。这几天也看了《kubernetes源码剖析》的前两章,这本书还是不错的,推荐大家阅读。前面两章主要讲解什么是 kubernets,它的来历,它的架构,它的代码结构,以及它的编译过程。读代码首先要了解它的架构,其次要知道它的代码结构。代码结构就是整个代码目录的组成,那个目录中的文件是做什么的。看了这本书的前面 2 章,对它的架构和结构就会有比较清晰的认识。
黑光技术
2020-08-11
9790
grpc之golang学习笔记2
上一篇文章简单体验了一下grpc的golang使用,从环境安装到简单demo的编写,编译和测试,感觉还不错,今天再进一步学习分析其用法和一些要注意的坑。
黑光技术
2019-04-24
8350
grpc之golang的简单使用
gRPC是一个高性能、通用的开源RPC框架,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。
黑光技术
2019-04-24
3.5K0
Redis源码分析1:Redis启动分析
近期决定把redis的源码阅读分析一下,在官网下载了最新稳定版本5.0.3。整个代码包还是比较小的,下载之后整个包才9M,解压之后看src文件夹也才3.7M,也就是说redis的源码就这么点,其它占空间的主要是几个依赖组件:hiredis(redis的C客户端), lua, jemalloc(内存池), linenoise(配置文件解析),这些代码占了大概6.3M.
黑光技术
2019-03-10
2.8K0
golua虚拟机的使用
之前一直想把openflow这样的分布式流程系统做起来,但是时间和应用场景的问题所以都是做了一个半拉子工程,而且之前想的也有点简单了,认为只要有同学愿意,在开发上应该没问题,但是最终还是出现了项目管理和开发能力的问题,最终搁浅了。但是我想做一个分布式流程调度系统的想法一直没有断,其实在公司内和另外一个同学做过一个flow系统,也在线上使用了,直到现在还在使用。前一段时间就想把这个系统再优化梳理一下,目标是做一个小巧的开源可用版本。经过一段时间的梳理目前已经初步完成了,后台+前端代码的重新梳理也已经完成了。
黑光技术
2019-03-06
2.3K0
golang的httpserver优雅重启
去年在做golangserver的时候,内部比较头疼的就是在线服务发布的时候,大量用户的请求在发布时候会被重连,在那时候也想了n多的方法,最后还是落在一个github上的项目,facebook的一个golang项目grace,那时候简单研究测试了一下可以就直接在内部使用了起来,这段时间突然想起来,又想仔细研究一下这个项目了。 从原理上来说是这样一个过程:
黑光技术
2019-03-06
1K0
Golang信号处理和如何实现进程的优雅退出
各操作系统的信号定义或许有些不同。下面列出了POSIX中定义的信号。 在linux中使用34-64信号用作实时系统中。 命令 man 7 signal 提供了官方的信号介绍。也可以是用kill -l来快速查看 列表中,编号为1 ~ 31的信号为传统UNIX支持的信号,是不可靠信号(非实时的),编号为32 ~ 63的信号是后来扩充的,称做可靠信号(实时信号)。不可靠信号和可靠信号的区别在于前者不支持排队,可能会造成信号丢失,而后者不会。 Linux支持的标准信号有以下一些,一个信号有多个值的是因为不同架构使用的值不一样,比如x86, ia64,ppc, s390, 有3个值的,第一个值是slpha和sparc,中间的值是 ix86, ia64, ppc, s390, arm和sh, 最后一个值是对mips的,连字符-表示这个架构是缺这个信号支持的, 第1列为信号名; 第2列为对应的信号值,需要注意的是,有些信号名对应着3个信号值,这是因为这些信号值与平台相关,将man手册中对3个信号值的说明摘出如下,the first one is usually valid for alpha and sparc, the middle one for i386, ppc and sh, and the last one for mips. 第3列为操作系统收到信号后的动作,Term表明默认动作为终止进程,Ign表明默认动作为忽略该信号,Core表明默认动作为终止进程同时输出core dump,Stop表明默认动作为停止进程。 第4列为对信号作用的注释性说明。
黑光技术
2019-03-06
2.5K0
一些软件设计的原则
以前本站向大家介绍过一些软件开发的原则,比如优质代码的十诫和Unix传奇(下篇)中所以说的UNIX的设计原则。相信大家从中能够从中学了解到一些设计原理方面的知识,正如我在《再谈“我是怎么招聘程序”》中所说的,一个好的程序员通常由其操作技能、知识水平,经验层力和能力四个方面组成。在这里想和大家说说设计中的一些原则,我认为这些东西属于长期经验总结出来的知识。这些原则,每一个程序员都应该了解。但是请不要教条主义,在使用的时候还是要多多考虑实际情况。其实,下面这些原则,不单单只是软件开发,可以推广到其它生产活动中,甚至我们的生活中。
黑光技术
2019-03-06
1.1K0
Golang UnitTest单元测试
单元测试是程序开发者适用一段代码来验证另外一段代码写的是否符合预期的一种相对高效的自我测试方法。
黑光技术
2019-03-06
8.6K0
golang调度机制
Golang的核心之一gorountine go语言非常重要的一个特性就是gorountine,有了这个东东,就可以很简单的做并发处理程序,比起c++和java的方式来说可以说简单了很多很多。那么go
黑光技术
2019-03-06
2.2K0
Goroutine+Channel+WaitGroup使用
golang语言中最有特色之一的东东就是这个goroutine了,很多时候问起别人为什么golang的好用,golang的网络性能可以那么好,一般都会多多少少想到goroutine,提起goroutine。在linux中内核的调度最小单位是就是thread,同一个进程中的多个thread线程就对应内核中的多个thread实体。所以thread是内核级的,而gorountine是一个不同于thread的概念,gorountine是一个用户态,另外一种说法也就携程,是用户态的一种调度粒度,每个gorountine也有自己的栈空间,而且是在用户内存中的。golang中实现了对用户态的一种代码片段的高效调度执行,就目前来看是非常有效的,而且给用户编程带来了极大的方便。
黑光技术
2019-03-06
1.6K0
golang的struct和interface
struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套;go中的struct类型理解为类,可以定义方法,和函数定义有些许区别;struct类型是值类型。
黑光技术
2019-03-06
2.8K0
Flink分布式运行时环境
Flink对分布式任务的执行操作,它是把操作子任务链起来放到任务中。每个任务由一个线程来执行。把操作链起来放入任务中是非常好的一个优化:它可以减少线程间交互和缓存的开销,减少延迟的同时提升整体的吞吐量。链操作的方式是可以配置的,在链操作文档中有详细的介绍chaining docs 。
黑光技术
2019-02-23
8880
Goroutine+Channel+WaitGroup使用
golang语言中最有特色之一的东东就是这个goroutine了,很多时候问起别人为什么golang的好用,golang的网络性能可以那么好,一般都会多多少少想到goroutine,提起goroutine。在linux中内核的调度最小单位是就是thread,同一个进程中的多个thread线程就对应内核中的多个thread实体。所以thread是内核级的,而gorountine是一个不同于thread的概念,gorountine是一个用户态,另外一种说法也就携程,是用户态的一种调度粒度,每个gorountine也有自己的栈空间,而且是在用户内存中的。golang中实现了对用户态的一种代码片段的高效调度执行,就目前来看是非常有效的,而且给用户编程带来了极大的方便。
黑光技术
2019-02-21
1.2K0
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档