bfe业余分析(一)

bfe是百度开源的一个使用golang开发的七层转发引擎,源码可以在这里找到。文档的话可以直接看中文的,比英文全很多。这里是想通过分析和使用bfe去学习和了解一下其他公司在七层引擎上面的一些想法。 这篇主要记录下bfe的基本使用。以下所有分析都基于v0.6.0 编译与运行 克隆仓库后直接运行m

《思辨与创新》学习总结(一)

这几天我好像发现了一个缓解负面情绪的方法:学习。尤其在最近这段干什么都提不起兴趣的时候,学习又让我觉得生活又有点意思了。 最近在b站上了看了《思辨和创新》的教学视频,有所收获,这里记录一下几个点 才大心细。多积累各个领域的知识,它可以让你在看到一些时事情时看到不同的精彩;关注当下的情况,体会

新学的nc小技巧

最近遇到不少转发上的问题, 很大部分是因为一些不太常见的客户端请求. 正常的请求我们可以直接curl模拟, 但是有些异常的, 比如 某些header内容为空, 我们就很难模拟. 这时候可能就需要用上nc来模拟了. 当然它不仅仅可以用来模拟http请求. 下面介绍两个新学的 技巧. 模拟http请求发送 模拟一个

golang pprof简易玩法

golang的应用诊断可以依靠pprof工具, 这里总结一个快速上手的步骤. step0: 假设 我们现在的应用跑在远端 我们本地的go为1.11版本(webui支持了火焰图) 诊断的应用是caddy step1: 开启 对我们的应用开启profiling. 这个方法有很多, 可以直接参考runtime/pprof和net/ht

golang中的结构体匿名成员

最近在开发caddy的插件, 碰到了很多以前不怎么注意的地方, 先重点记录下几个点. 写插件比较追求的一点是: 如何不破坏原有的体系而达到想要的效果. 这个确实有点难… 结构体匿名成员 有关结构体匿名成员在《Effective Go》中的embedding一节讲的很详细, 一言一蔽之: 另一种

新学的bash小技巧

本周遇到不少线上的问题, 由于手生, 花了不少时间, 这里重新记录一下. 将多行合并成一行 之前经常用到的是用xargs. 通常是利用find找到对应的文件, 然后整成一行: find . | xargs. 不过这次是需要将对应的行使用逗号分隔, 这个用xargs就搞不定了, 需要使用paste: find . | paste -sd ',' - 比较两个文件, 找出在