charlieroro

LV1
发表了文章

分析fastcache和freecache(一)

fastcache和freecache是两个比较简单的缓存实现,下面分析一下各自的实现,并学习一下其实现中比较好的方式。

charlieroro
发表了文章

victoriaMetrics中的一些Sao操作

victoriaMetrics中有一个fasttime库,用于快速获取当前的Unix时间,实现其实挺简单,就是在后台使用一个goroutine不断以1s为周期刷...

charlieroro
发表了文章

golang bufio解析

当频繁地对少量数据读写时会占用IO,造成性能问题。golang的bufio库使用缓存来一次性进行大块数据的读写,以此降低IO系统调用,提升性能。

charlieroro
发表了文章

victoriaMetrics之byteBuffer

VictoriaMetrics经常会处理数目庞大的指标,在处理的过程中会涉及指标的拷贝,如果在指标拷贝时都进行内存申请的话,其内存消耗和性能损耗都非常大。vic...

charlieroro
发表了文章

victoriaMetrics库之布隆过滤器

victoriaMetrics的vmstorage组件会接收上游传递过来的指标,在现实场景中,指标或瞬时指标的数量级可能会非常恐怖,如果不限制缓存的大小,有可能...

charlieroro
发表了文章

记一次victoriaMetrics代理性能优化问题

最近有做一个Prometheus metrics代理的一个小项目,暂称为prom-proxy,目的是为了解析特定的指标(如容器、traefik、istio等指标...

charlieroro
发表了文章

kubebuilder operator的运行逻辑

下面是kubebuilder 的架构图。可以看到最外层是通过名为Manager的组件驱动的,Manager中包含了多个组件,其中Cache中保存了gvk和inf...

charlieroro
发表了文章

kyverno VS gateKeeper

这两组开源工具都是是基于kubernetes 的webhook机制,支持validatingwebhook和mutatingwebhook。整体思路上是一样的,...

charlieroro
发表了文章

Understanding JSON Schema

可以表示的字符串如:"This is a string"、""、"Déjà vu"(unicode字符)

charlieroro
发表了文章

Kubernetes GitOps 工具

在我看来,Kubernetes的优势主要在于它的声明式性质与控制循环相结合,并通过这些控制循环持续监控集群的活动状态,确保它与etcd中存储的期望状态保持一致。...

charlieroro
发表了文章

open policy agent 语法总结

OPA将从外部加载的数据成为基本文档(base documents),有规则产生的值成为虚拟文档(virtual documents),此处"虚拟"的意思表示文...

charlieroro
发表了文章

全局负载均衡方案

当在多云(可能是混合云)中使用Kubernetes或Openshift部署应用时,需要考虑到如何跨集群分发应用流量。为了解决该问题,我们设计了一个全局负载均衡器...

charlieroro
发表了文章

使用delve调试golang

dlv调试要求可执行文件不能删掉调试信息,即-ldflags参数中不能包含 -w -s标志。可以使用如下方式查看可执行文件是否有删除调试信息,"not stri...

charlieroro
发表了文章

victoriaMetrics无法获取抓取target的问题

最近在新环境中部署了一个服务,其暴露的指标路径为:10299/metrics,配置文件如下(名称字段有修改):

charlieroro
发表了文章

零信任架构规范

译自NIST Special Publication 800-207 Zero Trust Architecture

charlieroro
发表了文章

分析一个简单的goroutine资源池

tunny将goroutine处理单元封装为workWrapper,由此可以对goroutine的数目进行限制。

charlieroro
发表了文章

比较微服务中的分布式事务模式

译自:Distributed transaction patterns for microservices compared

charlieroro
发表了文章

面向数据的架构

2007年,Rajive Joshi在RTI 白皮书中首次提出了面向数据的架构,后在2017年,Christian Vorhemus 和 Erich Schik...

charlieroro
发表了文章

访问kubernetes CRD的几种方式

最近在使用代码操作VictoriaMetrics Operator的CRD资源的过程中,探究了几种访问CRD资源的方式。下面以VictoriaMetrics O...

charlieroro
发表了文章

golang []byte和string的高性能转换

大概意思就是说,要尽量避免[]byte和string的转换,因为转换过程会存在内存拷贝,影响性能。此外在fasthttp中还提出了一个解决方案,用于[]byte...

charlieroro

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券