Consul 安装和基本使用
可视化数据平台 superset :安装和使用
使用 airflow 替代你的 crontab
Airflow 是什么
Airflow 是 Airbnb 开发的用于工作流管理的开源项目,自带 UI,现在 Apache 下做孵化,地址是https://github.com/apache/incubator-airflow
Airflow 解决什么问题
Airflow 主要解决的问题可以参考 Airbnb 官方的博客: airflow-a-workflow-management-platform,简单来说就是管理和调度各种离线定时 Job ,可以替代 crontab。
当 cron job 规模达到数百上千时,其对人的要求将会非常高的,如果你的团队经历过这样的事情,应该能体会其中痛苦,所以使用类似 airflow 这样的工具代替 cron 来做定时任务将会极大提高工作效率。
如何向小孩子解释计算机是什么
Python float 和 decimal
linux 中的 dns 解析
Go 常见错误之一:值拷贝和 for 循环中的单一变量
在 Go 常见的错误一文中 http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/ 有这么一段代码:
1 |
|
mysql 在线 scheme 变更方案以及开源工具评测
mysql schema 变更的一般方案
变更 mysql table schema 是使用 mysql 的过程中经常需要做的一件事,一般意义变更可以根据场景的不同做不同的操作。
直接 alter
如果数据量非常少,读写不频繁,可以直接对表进行 alter,由于数据少直接 alter 并会造成太长时间的锁表,一般情况都是能接受的
停机升级
对于数据量特别大的表,如果直接 alter 将导致线上不可用可以考虑停机修改,当然如果停机时间过长不能接受,只能做在线改了
不停机在线迁移
很多团队面临的业务都无法停机,在线变更 schema 也确实是很多业务团队都会面临的问题,我曾经做过一次 Mongodb 亿级拆分方案,大致思路是:
1、在应用程序中拦截所有的 update,insert,delete 操作
2、为数据一致性建立迁移缓冲区,临时保存迁移用户的所有业务数据
3、在业务代码中利用迁移缓冲区做一致性输出
4、离线迁移所有用户数据
Go interface 详解 (三) :interface 的值
本系列是阅读 “The Go Programming Language” 理解和记录。
Interface value 的赋值
从概念上来讲,interface value 有两部分组成:type 部分是一个 concrete type,vlaue 部分是这个 concrete type 对应的 instance,它们分别称之为 interface value 的 dynamic type 和 dynamic value。
由于 Go 是静态类型的语言,type 是在编译阶段已经定义好的,而 interface 存储的值是动态的,在上面这个概念模型中,type 部分更准确叫法是 type descriptors,主要是提供 concrete type 的相关信息,包括 method、name 等。
下面这几个语句:1
2
3
4var w io.Writer
w = os.Stdout
w = new(bytes.Buffer)
w = nil
变量 w
依次存储了三种不同的值,在此我们依次来看看每种不同的值的确切含义。