Go kit:Golang 微服务的瑞士军刀

上上周去旅游了,写了篇自己都觉得比较水的文章,这周补上一篇。 :P 近几个月开始将现有的 Node.js 服务重构为 Golang 服务,其实这个计划去年就开始制定,并且在很长一段时间里面都在准备基础: 设施:自动化运维,日志以及监控; 知识:Golang、框架微服务架构的设计以及业务的梳理; 接下来先从介绍开始。 Go kit 简介Go kit 是...

Read More

设置 Github Pages https 个人域名

用了 GitHub Pages 作为博客已经几年了,而 HTML 博客的域名一直用的是默认的 xizhibei.github.io,之所以没有用自定义域名,也就是考虑到 GitHub 自定义域名不支持 HTTPS。而如果一定要使用,则必须在其它进行一些设置,比如配置 CDN,来将 GitHub Pages 当成源站。 直到最近,看到终于支持了。 马上很激...

Read More

谈谈服务稳定性

前言服务的稳定性,对于任何一个在线提供给用户服务的公司来说,都是非常重要的,更遑论当这个服务是与充值消费相关的时候。 于是,任何一次线上事故,都可能会给公司带来显而易见的损失:因为相比于其他部门,负责服务端的小伙伴们,发生事故的时候很容易暴露在风口浪尖之中,一次代码 Bug 或者数据库调整等变更,都可能带来直接的损失,并且这种损失是快而直接的,出问题那段...

Read More

Node.js 垃圾回收

话说,在很久以前的程序界,是没有内存垃圾回收这种说法的,大家习惯于被 C 以及 C++ 的内存问题各种花式吊打。 直到有一天,John McCarthy 大神 1959 年在 LISP 中实现了内存垃圾回收,大家才惊奇的地发现:『居然还有这种操作?』。正如 iPhone 出来之后重新定义了手机,内存垃圾回收的出现无异于重新定义了高级语言。 好,接下来开始...

Read More

分布式追踪

其实今天的文章算是 APM 以及 Node.js 探针原理 的续篇,在去年介绍了一些原理之后,其实还有很多地方没有说清楚。 不过,开头还是先介绍下分布式追踪。 简单介绍分布式追踪在微服务领域非常重要,因为服务一旦多了,就涉及到性能瓶颈分析与线上问题排查、服务之间的关系梳理等等,这在单体应用的时候,非常简单,你甚至在本地就能解决,但是在一个比较大的公司内部...

Read More

那些你可能在面试时会忽略的事

之前在 谈谈如何当一名合适的面试官 说了很多,但实际操作起来,会有很多的差别,现在把这几周的想法总结下。 最近接连面试了 30 多个候选人,然后只通过了三个人,这三个人有什么特点呢? 基础扎实 善于沟通 积极主动 现在就来说说,我为什么看重这三点: 基础能力这个不用说,其实当年我也犯过这个错误:校招面试的时候,面对面试官各种苛刻的提问,很多都答不上来...

Read More

Kubernetes 排错之 HTTP 429

背景 我们线上的 k8s 集群是使用 ansible 安装的[1],使用的是 coreos 提供的 hyperkube 镜像中的可执行文件(其实之前也提到过类似的:CentOS 7 使用 ansible 搭建 kubernetes); 跑的应用主要是线上离线任务,属于即使挂掉一阵也不会影响到正常业务的那种,部署了 15 个 Deployment; 部署的...

Read More

投资与择业

春节过完,我等外来务工人员又开始向一线城市聚集了,回到了熟悉的工位上,而接下来是三四月份,俗称金三银四,是我们蠢蠢欲动的时候,你今年可要跳槽?

Read More

谈谈营销福利的反作弊

最近这些天,算是刷新我对于黑产的认知。

Read More

使用 TypeScript 开发 NPM 模块

最近对 TypeScript 很是着迷,或者说是在使用的过程中找回之前使用强类型语言写后端程序的感觉,在介绍 TypeScript 之前,先简单说说 JavaScript 的历史。

Read More

自动化你的 Hexo 博客创作流程

从前年开始,我开始用 GitHub issues 写博客,写到去年的时候,逐渐意识到,GitHub issues 还是有一定不足的,比如一个很关键的点:无法查看有多少人看了你的博客文章之类的运营数据,所以那得使用 Google analysis 之类的分析工具。 于是,为了嵌入 Google analysis,又开始折腾博客系统,之前折腾过 Jelly ...

Read More

2017年总结

又是一年过去了,在这一年里,似乎很多事情还处于未完成状态,但是,时间不等人,掐指一算(打开了 Excel),我的人生也已经过去了 10000 多天,至少三分之一已经入土 (是的,扎心了)。

Read More

(译)软件开发中的速度

译者边注

这篇文章是几月前看到的,现在打算翻译一下来回顾以及加深里面的内容,作者以系统思考的方式论证什么因素对于软件开发速度是重要以及不重要的,以及它们之间的复杂关系,文风诙谐幽默,可读性非常高,最后相信你会从线性思维方式的方式转变过来,能够认识到软件开发速度不是单单靠某个因素就能提高的。

每一个 IT 公司的 CEO 都希望开发软件的速度能再快些,而时间又是最昂贵也是最有价值的资源,因此你不能把它浪费在返工、重构、开会甚至体育活动上面。是吗?看情况。

Read More

kubernetes 中的权限管理

Kubernetes 发展好快,在我写这篇总结的同时,1.9.0 版本已经在昨日(2017.12.16)正式发布,而上次在正式环境中部署已经是半年前了,我花了点时间将集群升级到了 1.8.4 版本,其中变化最明显的就是权限了,已经可以用上 RBAC 了,而我也在发现报错的时候才意识到需要将以前 k8s 的基础应用也全部加上了权限(当然了,1.6 其实就开始有了)。

Read More

谈谈人才招聘

我们经常说,人才是企业最重要的资产,只是,现实中,我们很多时候都是把这句话当口号而已。 在你反驳我之前,我希望你仔细想想下面这几个问题: 你们的招聘流程是怎样的?你们是根据什么具体标准面试求职者的? 你们给面试官进行过培训吗?你们会根据入职一段时间后新人的表现来给面试官打分吗? 入职之后,新人是怎样培养的?你们给新人报销外部培训课程费用吗? 那么,如...

Read More