1. 在终端/shell中科学上网

    目前很多常见的科学上网工具主要适用于浏览器,但是在Shell中无法直接使用,因此需要在Shell中配置 代理所需的环境变量。但是在Shell中配置全局的环境变量会代理一个问题,那就是平时在工作中需要用到 很多内网的环境,如果统一都走代理则这些内网资源都无法访问(在电脑网络配置中配置的自动代理PAC, 只能够对浏览器生效)。因此需要一个智能代理,根据访问的资源来决定是否访问远程代理。

    2017/11/28 tool

  2. golang gc/arch 对 benchmark 的影响

    最近在同事提出了一个疑问: 在对一个slice进行遍历时,将for循环条件中的len提出到循环外是否会比golang编译器的优化结果更加好。

    2017/11/25 go

  3. 分布式编程中的故障探测

    在分布式系统中,自然状态下是一个异步网络,因此故障探测很难做到同时具有完整性和准确性。 因此我们可以其大致将这两个分为强弱之分:

    2017/10/30 distributed-programming

  4. 一个高性能K-V存储服务 K-V Direct

    在今年上海举行的SOSP 17上,微软研究院的演讲介绍了一个基于硬件加速实现的K-V存储服务。 其核心思想是依赖可编程网卡(根据论文中透露出的信息,极可能 是这一款) 将K-V存储的核心逻辑在网卡的FPGA中实现,然后FPGA通过RDMA机制访问宿主机的物理内存。 从而达到GET请求12.2亿QPS,PUT请求6.1亿QPS的超高性能。

    2017/10/29 database

  5. Google SRE 运维解密

    最近看了《SRE Google 运维解密》这本书,收获了不少知识。也摘录一些知识点放在这里。

    2017/10/15 SRE

  6. 统计函数执行耗时

    当我们需要对应用程序进行系能分析时,我们通常可以使用perf或者火焰图。 但是这些工具通常只能定性问题,发现那些函数占用cpu较多,需要优化。但是给不出定量的数据, 比如这个函数的耗时情况,它耗时1ms还是5ms。

    2017/09/16 linux tool SystemTap bcc

  7. 修改docker -v 挂载的文件遇到的问题

    在启动docker容器时,为了保证一些基础配置与宿主机保持同步,通常需要将这些配置文件挂载进 docker容器,例如/etc/resolv.conf//etc/hosts//etc/localtime等。

    2017/08/18 docker

  8. moss 源码解析

    moss是一款纯go实现的面向内存的K-V存储引擎。

    2017/08/08 database moss