Archive for the ‘网络转载’ Category.

shell脚本输出颜色

写shell脚本时,用echo命令输出内容,这我们都知道。但是怎么给输出内容上点色呢?

其实很简单,利用-e参数,即启用反斜杠转义的解释。

Continue reading ‘shell脚本输出颜色’ »

在go的protobuf中进行自定义json tag标记及使用

在使用grpc-gateway的时候,测试时发现HTTP接口返回给前端的json数据的字段格式很不统一,所以需要标准化protobuf->json的映射关系

原因

  1. proro的字段命名很不规范,有全小写的,有大驼峰/小驼峰/下划线等等
  2. 使用了默认的 protoc-gen-go 插件,生成的json tag会尝试小驼峰以及omitempty,但如果是纯小写或大驼峰,则不会改变

Continue reading ‘在go的protobuf中进行自定义json tag标记及使用’ »

线程安全–彻底搞懂volatile关键字

对于volatile这个关键字,相信很多朋友都听说过,甚至使用过,这个关键字虽然字面上理解起来比较简单,但是要用好起来却不是一件容易的事。
这篇文章将从多个方面来讲解volatile,让你对它更加理解。

Continue reading ‘线程安全–彻底搞懂volatile关键字’ »

从远程仓库获取最后一个git标签而不进行克隆

如何从(非签出)远程仓库中获取最后一个标签?
在我的本地副本上,我使用describe

git describe --abbrev=0 --tags

但我不能使用describe与远程存储

最佳答案
使用git ls-remote –tags [repository]

Continue reading ‘从远程仓库获取最后一个git标签而不进行克隆’ »

Dapper,大规模分布式系统的跟踪系统

作者:Benjamin H. Sigelman, Luiz Andr´e Barroso, Mike Burrows, Pat Stephenson, Manoj Plakal, Donald Beaver, Saul Jaspan, Chandan Shanbhag

概述

当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具。

Dapper–Google生产环境下的分布式跟踪系统,应运而生。那么我们就来介绍一个大规模集群的跟踪系统,它是如何满足一个低损耗、应用透明的、大范围部署这三个需求的。当然Dapper设计之初,参考了一些其他分布式系统的理念,尤其是Magpie和X-Trace,但是我们之所以能成功应用在生产环境上,还需要一些画龙点睛之笔,例如采样率的使用以及把代码植入限制在一小部分公共库的改造上。

自从Dapper发展成为一流的监控系统之后,给其他应用的开发者和运维团队帮了大忙,所以我们今天才发表这篇论文,来汇报一下这两年来,Dapper是怎么构建和部署的。Dapper最初只是作为一个自给自足的监控工具起步的,但最终进化成一个监控平台,这个监控平台促生出多种多样的监控工具,有些甚至已经不是由Dapper团队开发的了。下面我们会介绍一些使用Dapper搭建的分析工具,分享一下这些工具在google内部使用的统计数据,展现一些使用场景,最后会讨论一下我们迄今为止从Dapper收获了些什么。

Continue reading ‘Dapper,大规模分布式系统的跟踪系统’ »