Skip to content

Instantly share code, notes, and snippets.

Avatar
🎯
Focusing

Hao Ke kehao95

🎯
Focusing
View GitHub Profile
@kehao95
kehao95 / readme.md
Created Jun 29, 2018
利用AWS spot instance创建离线数据仓库
View readme.md

背景

实际生产中,公司使用了CitusCloud作为生产数据库。但是维护高性能数据库同时若存储大量数据成本也会升高。 由于数据量非常庞大,我们数据线上保留策略为90天,每日将90天前的数据Dump到S3然后从库中删除。 但有的时候,客户想知道整个history中某个事件的历史,虽然数据库中已不存在这些记录,但客户就是上帝,我们需要想办法满足。

Why not Athena

AWS提供了Athena工具,就是为了解决海量离线数据的分析查询。 它的大致原理就是将S3中存储的结构化文本对象(例如datadump、CSV等)直接视作数据表,然后用户可以在Athena控制台直接执行SQL语句来查询数据。 收费则是按扫描量收费——($5 per TB of data scanned)虽然看起来不算贵,但实际使用中还是有不少弊端的:

  1. 语法兼容性
@kehao95
kehao95 / install_node_exporter.sh
Last active Jun 14, 2018
simple node_exporter script
View install_node_exporter.sh
#!/bin/bash
version="${VERSION:-0.14.0}"
arch="${ARCH:-linux-amd64}"
bin_dir="${BIN_DIR:-/usr/local/bin}"
wget "https://github.com/prometheus/node_exporter/releases/download/v$version/node_exporter-$version.$arch.tar.gz" \
-O /tmp/node_exporter.tar.gz
mkdir -p /tmp/node_exporter
@kehao95
kehao95 / Traefik.md
Last active Aug 1, 2020
开源的反向代理与负载均衡工具Traefik
View Traefik.md

关于Traefik

Traefik 是一个开源的反向代理与负载均衡工具,其设计非常适合现代微服务模式。

除了传统的反向代理、loadblance功能,Traefik功能还包括:

  • 非停机更新配置
  • HTTPS支持
  • 线路中断、重试(Circuit breakers, retry)
  • 一个漂亮的WebUI
  • High Availability
  • metrics,log,Rest API
@kehao95
kehao95 / python.md
Last active Jun 12, 2018
Python 并行化设计
View python.md

参考parallelism-in-one-line 步骤整理如图下

from multiprocessing import Pool
from multiprocessing.dummy import Pool

简言之,IO 密集型任务选择multiprocessing.dummy,CPU 密集型任务选择multiprocessing 然后实例化Pool即可使用map

pool = Pool(6)
You can’t perform that action at this time.