fluentd + Amazon S3 installation

08 August 2017


1. What’s fluentd?


fluentd是一個用來搜集data的open source,以及可以對搜集來的data進行簡單的分析, 甚至可以把搜集來的data再foward出去mongodb, Elasticsearch, S3, GCP…etc.

因為我們的API有好多台,在管理log時非常不方便,必須ssh進去每一台看,或者scp出來,這方法實在太落後, 因此最近才把fluentd整進來,我們應用的情景如下:

  • 安裝一台Log Server (儲存所有API上的log)
  • 每一台API Server都裝有fluentd,並且把本地的log foward to Log Server
  • 把本地的Log上傳至S3備份


read more »


What's MySQL partition

11 June 2017

最近在面試幾個candidate,都說自己有MySQL tuning的經驗, 但進一步問下去,發現連MySQL怎麼用BTree放index,或者怎麼使用partition or sharding都不了解,所以打算來寫一系列的MySQL文章,這篇就先挑簡單的partition來寫。


1. What’s Partition and Why?


簡單說,Partition是將你的table,根據你的配置去divide成好幾個part;最重要的是,資料都是在同一個DB裡面,這對application來說,可以無感的使用它,卻又享有它的優點。

那麼為何要用partition呢?partition的優點在於:

  • Partition Pruning:基於已經知道資料在哪個partition的條件下,讓你的SQL operation變快,這包含了select, insert, update ,delete
  • 刪除資料:當你的table很大時,刪除是非常耗時的一件工作,有了partition以後,你可以直接drop該partition,且時間上可以快上非常多。


read more »


Getting started with webpack

18 February 2017

最近在看Vue.js,很多文章都是搭配著Webpack來說明,所以也順便研究了一下webpack, 這篇會說明webpack的優點、以及用途。



1. What’s webpack?


什麼是webpack呢?其實官網用一張圖片說明的很清楚,圖片上有幾個title,分別為:

  1. bundle your assests
  2. bundle your scripts
  3. bundle your images
  4. bundle your styles

一句話簡單說,可以想像成打包工具 (但當然不僅於此,否則不會這麼紅)。


read more »