浅谈系统线程数限制

Linux进程与线程 概念就不提了,Richard Stevens的描述: fork is expensive. Memory is copied from the parent to the child, all descriptors are duplicated in the chil...

2019-06-11 10:38:14

阅读数 4

评论数 0

详解 Kubernetes ReplicaSet 的实现原理

Kubernetes 中的 ReplicaSet 主要的作用是维持一组Pod副本的运行,它的主要作用就是保证一定数量的 Pod 能够在集群中正常运行,它会持续监听这些 Pod 的运行状态,在 Pod 发生故障重启数量减少时重新运行新的 Pod 副本。 这篇文章会介绍 ReplicaSet 的工作...

2019-06-06 14:35:52

阅读数 5

评论数 0

替换字符串中的通配符

最近面试了阿里某部门,最后面试官让写如下算法,算法题目如下: 给定字符串(合法字符只包括0,1,?),替换字符串中的通配符?为0或者1,生成所有可能的字符串。 Example : Input str = “1??0?101” Output: 10000101 10001101 10100101 1...

2019-06-03 11:46:41

阅读数 72

评论数 0

etcd系列深入浅出客户端

【摘要】 绪论etcd的v2可以完全使用rest方式访问,v3则也可以通过部署一个grpc-gateway实现rest访问。但是一般来说,我们代码中操作etcd的读写还是会通过etcd提供的client来做。client 屏蔽了etcd server多节点访问的负载均衡问题,v3的的client采...

2019-04-13 22:06:03

阅读数 78

评论数 0

5 simple ways to troubleshoot using Strace

I keep being surprised how few people are aware of all the things they can use strace for. It's always one of the first debug tools I pull out, becau...

2019-03-27 11:53:43

阅读数 56

评论数 0

Linux(Centos7)日志管理

日志管理 处理日志的进程 rsyslogd:系统的专职日志程序,将绝大部分操作系统相关的日志记录。(安全、认证、计划任务…) 应用程序日志:各类应用程序以自己的方式记录的日志。 常见日志文件 # tail /var/log/messages //系统主日志文件 # tai...

2019-03-13 15:02:41

阅读数 41

评论数 0

Linux系统中dmesg命令使用详解

Linux数据中心服务器一般很少被黑。但也有出故障的时候,没有十全十美的,当服务器连接到网络时,你永远不知道什么时候会出现问题,会出现什么样问题。当不可避免出现了错误的时,您应该知道如何解决问题,以及所需的所有工具。 对于大多数服务(Apache,MySQL等),有单独的日志可以将您键入连接,身...

2019-03-13 14:47:55

阅读数 24

评论数 0

Linux内核调试方法总结之sysrq

sysrq 【用途】 Sysrq被称为”魔术组合键”, 是内建于Linux内核的调试工具。只要内核没有完全锁住,不管内核在做什么事情,使用这些组合键都可以搜集包括系统内存使用、CPU任务处理、进程运行状态等系统运行信息。 【原理】【内核帮助文档kernel/Documentation/sys...

2019-03-13 14:06:32

阅读数 25

评论数 0

解决 "DOES NOT SUPPORT INDEXING" ERROR IN A GO PROGRAM

如果你正在读这篇文章时候,很有可能你是在谷歌怎么解决这个问题:你在函数体里面传递一个指针给一个slice或者map,当你通过*variable[0]获取其中item值时候,就会报这个错:“does not support indexing” error 如果解决呢? 方式非常简单,不要使用: *v...

2019-01-22 15:07:46

阅读数 108

评论数 0

golang 单元测试进阶篇

本文档说明 go 语言自带的测试框架未提供或者未方便地提供的测试方案,主要是用于解决写单元测试中比较头痛的依赖问题。也就是伪造模式,经典的伪造模式有桩对象( stub ),模拟对象( mock )和伪对象( fake )。比较幸运的是,社区有丰富的第三方测试框架支持支持。下面就对笔者亲身试用并实践...

2019-01-09 14:49:07

阅读数 187

评论数 0

Golang GC算法解读

概括 Go的垃圾回收官方形容为 非分代 非紧缩 写屏障 三色并发标记清理算法。非分代:不像Java那样分为年轻代和年老代,自然也没有minor gc和maj o gc的区别。非紧缩:在垃圾回收之后不会进行内存整理以清除内存碎片。写屏障:在并发标记的过程中,如果应用程序(mutator)修改了对象...

2019-01-04 14:37:49

阅读数 830

评论数 0

HyperLogLog算法及原理

基数计数基本概念 基数计数(cardinality counting)通常用来统计一个集合中不重复的元素个数,例如统计某个网站的UV,或者用户搜索网站的关键词数量。数据分析、网络监控及数据库优化等领域都会涉及到基数计数的需求。 要实现基数计数,最简单的做法是记录集合中所有不重复的元素集合S_uS...

2018-12-22 14:10:52

阅读数 98

评论数 0

gRPC服务发现&负载均衡

构建高可用、高性能的通信服务,通常采用服务注册与发现、负载均衡和容错处理等机制实现。根据负载均衡实现所在的位置不同,通常可分为以下三种解决方案: 1、集中式LB(Proxy Model) 在服务消费者和服务提供者之间有一个独立的LB,通常是专门的硬件设备如 F5,或者基于软件如 LVS...

2018-11-23 11:56:13

阅读数 57

评论数 0

Eviction Kill POD选择分析

Eviction机制是当节点上的资源紧张达到自己设定的阈值时可以进行资源回收。 EvictionManager工作流程中两个比较重要的步骤是: reclaimNodeLevelResources(回收节点资源)和killPod。 killPod总会有一个优先级选择pod来kill,下面就说一下...

2018-11-21 12:28:21

阅读数 122

评论数 1

kubernetes CRI接口

在Kubrnetes的最底层是容器运行时(Container Runtime),他们负责启动、暂停容器。最有名的容器运行时就是Docker了,后面又支持rkt。在kubernetes 1.5版本,kubernetes引入了CRI,即Container Runtime Interface。 1. ...

2018-11-19 11:45:09

阅读数 217

评论数 0

kubernetes的eviction机制

eviction,即驱赶的意思,意思是当节点出现异常时,kubernetes将有相应的机制驱赶该节点上的Pod。eviction在openstack的nova组件中也存在。 目前kubernetes中存在两种eviction机制,分别由kube-controller-manager和kubele...

2018-11-19 11:43:02

阅读数 725

评论数 0

Kubelet PLEG源码分析

摘要:PLEG(Pod Lifecycle Event Generator)是kubelet的核心模块,在kubelet/docker相关的许多问题定位时,我们经常能看到PLEG的异常日志。通过对PLEG的源码分析,希望能让大家了解PLEG是干什么的,以及它是如何工作的、它与什么模块有交互等问题...

2018-11-13 11:06:33

阅读数 76

评论数 0

Kubernetes PodGC Controller源码分析

Author: xidianwangtao@gmail.com PodGC Controller配置 关于PodGC Controller的相关配置(kube-controller-manager配置),一共只有两个: flag default value ...

2018-11-09 10:54:25

阅读数 27

评论数 0

Go语言 map的实现

Go中的map在底层是用哈希表实现的,你可以在 $GOROOT/src/pkg/runtime/hashmap.goc 找到它的实现。 数据结构 哈希表的数据结构中一些关键的域如下所示: struct Hmap { uint8 B; // 可以容纳2^B个项 ui...

2018-11-02 11:14:36

阅读数 47

评论数 0

漫画:什么是分布式事务?

—————  第二天  ————— ———————————— 假如没有分布式事务 在一系列微服务系统当中,假如不存在分布式事务,会发生什么呢?让我们以互联网中常用的交易业务为例子: 上图中包含了库存和订单两个独立的微服务,每个微服务维护了自己的数据库。在交易系统的业务逻辑中,一个商品在下单...

2018-10-20 16:21:08

阅读数 63

评论数 0

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