mopcon 2012 - 網路服務從 k 到 m

69
網網網網網 K 網 M 網網網 (ericpi) KKBOX 網網網網網網

Upload: ericpi-bi

Post on 14-Jan-2015

945 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: MOPCON 2012 - 網路服務從 K 到 M

網路服務從 K 到 M

畢瑄易 (ericpi)

KKBOX 南部研發中心

Page 2: MOPCON 2012 - 網路服務從 K 到 M

2

About Me – ericpi

• 曾任 北京天玩科技 技術經理

• 曾任 KKBOX 研發中心資深工程師

• KKBOX 南部研發中心經理

• 愛好 php & node.js

Page 3: MOPCON 2012 - 網路服務從 K 到 M

3

網路服務從 K 到 M?

K => Kbps, Kilo

M => Mbps, Mega/Million

Page 4: MOPCON 2012 - 網路服務從 K 到 M

4

電子票務 ?

沒量就沒錢

Page 5: MOPCON 2012 - 網路服務從 K 到 M

5

大家都想做五月天 15W 張票的生意

Page 6: MOPCON 2012 - 網路服務從 K 到 M

6

但 ... iBon 也爆了 ..

Page 7: MOPCON 2012 - 網路服務從 K 到 M

7

所以 , 我們來討論一個服務從小到大數量級的故事

Page 8: MOPCON 2012 - 網路服務從 K 到 M

8

以下故事純屬虛構 , 如有雷同

Page 9: MOPCON 2012 - 網路服務從 K 到 M

9

算你家的 ** 工程師 ** 倒楣

Page 10: MOPCON 2012 - 網路服務從 K 到 M

10

故事開始…

Page 11: MOPCON 2012 - 網路服務從 K 到 M

11

那些年 , 我們一起架的 LAMP

Page 12: MOPCON 2012 - 網路服務從 K 到 M

12

LAMP 好棒 !  我要打十個 !

Page 13: MOPCON 2012 - 網路服務從 K 到 M

13

天字第一號 server 頂全場

Page 14: MOPCON 2012 - 網路服務從 K 到 M

14

幸福的日子 , day1, day2…dayN

Page 15: MOPCON 2012 - 網路服務從 K 到 M

15

有一天… 行銷辦了個人稍微多一點的活動

Page 16: MOPCON 2012 - 網路服務從 K 到 M

16

Page 17: MOPCON 2012 - 網路服務從 K 到 M

17

Performance Tunning!

httpd.conf

MaxClien

ts

query_cache_size

pthread

Javascript

HostnameLoo

kups

php.ini

KeepAlivemy.cnf

MinSpareServer

sMaxRequestPe

rChild

AcceptMutex

net.ipv4.tcp_rm

em

sysctl.conf

prefork

table_cache

apc

Page 18: MOPCON 2012 - 網路服務從 K 到 M

18

提高了 x00% 效率 , 但…

Page 19: MOPCON 2012 - 網路服務從 K 到 M

19

還是撐不住了… 冏

Page 20: MOPCON 2012 - 網路服務從 K 到 M

20

因為 , 這是個打群架的時代…

Page 21: MOPCON 2012 - 網路服務從 K 到 M

21

要是能 tune 出 1000% 效能 , 那表示有兩種可能…

Page 22: MOPCON 2012 - 網路服務從 K 到 M

22

1. 原來的架構 / 軟體太糟

Page 23: MOPCON 2012 - 網路服務從 K 到 M

23

2. 你家 server 叫葉問嗎 ?

Page 24: MOPCON 2012 - 網路服務從 K 到 M

24

講高服務量最愛談的

• Scalability

• High Availability

• High Performance

Page 25: MOPCON 2012 - 網路服務從 K 到 M

25

實際一點 , 人多勢眾

Page 26: MOPCON 2012 - 網路服務從 K 到 M

26

動態與靜態頁面拆分開

Page 27: MOPCON 2012 - 網路服務從 K 到 M

27

服務量應該比被圍毆狀況高很多 , 但…

Page 28: MOPCON 2012 - 網路服務從 K 到 M

28

總是又有那一天… 行銷辦了個人稍微多一點的活動

Page 29: MOPCON 2012 - 網路服務從 K 到 M

29

Page 30: MOPCON 2012 - 網路服務從 K 到 M

30

提高服務量必備

Cache

Page 31: MOPCON 2012 - 網路服務從 K 到 M

31

前端 Cache

Page 32: MOPCON 2012 - 網路服務從 K 到 M

32

資料 Cache

Page 33: MOPCON 2012 - 網路服務從 K 到 M

33

客戶端 Cache

Page 34: MOPCON 2012 - 網路服務從 K 到 M

34

但好日子總是不長…

Page 35: MOPCON 2012 - 網路服務從 K 到 M

35

Page 36: MOPCON 2012 - 網路服務從 K 到 M

36

我已經不想再講好日子不長的悲苦狀況

Page 37: MOPCON 2012 - 網路服務從 K 到 M

37

當前端服務量出狀況時 ?

剛剛不是說過人多勢眾

Page 38: MOPCON 2012 - 網路服務從 K 到 M

38

多重前端網站伺服器

Page 39: MOPCON 2012 - 網路服務從 K 到 M

39

當一台 DB 撐不住時 ?

MySQL 分散壓力方式

Page 40: MOPCON 2012 - 網路服務從 K 到 M

40

MySQL Replication

Page 41: MOPCON 2012 - 網路服務從 K 到 M

41

分離資料庫讀寫

Page 42: MOPCON 2012 - 網路服務從 K 到 M

42

多重 Data Cache 伺服器

Page 43: MOPCON 2012 - 網路服務從 K 到 M

43

Load Balance - Client Dispatch

Page 44: MOPCON 2012 - 網路服務從 K 到 M

44

Load Balancer

Page 45: MOPCON 2012 - 網路服務從 K 到 M

45

Real-time 的挑戰

Page 46: MOPCON 2012 - 網路服務從 K 到 M

46

還有呢 ?Message

Queue

CDN

DB Sharding

Distributed Storage

Task Queue

NoSQLDB Cluster

Page 47: MOPCON 2012 - 網路服務從 K 到 M

47

以上討論到的事情 , 不一定照順序發生

Page 48: MOPCON 2012 - 網路服務從 K 到 M

48

碰到狀況務必先 profile, 對症下藥

Page 49: MOPCON 2012 - 網路服務從 K 到 M

49

架構搞那麼複雜 , 難道產品還沒上線就要開始做?

Page 50: MOPCON 2012 - 網路服務從 K 到 M

50

有量才需要龐大架構 , 好的 ( 可維護性高 / 模組化 ) 系統 , 有助於未

來擴展

Page 51: MOPCON 2012 - 網路服務從 K 到 M

51

 現在是 framework 比語言重要的時代 , 好 好利用 framework, 有助自己在轉換 /改善

infrastructure

Page 52: MOPCON 2012 - 網路服務從 K 到 M

52

IaaS/PaaS Cloud service, 請 愛用 Heroku/GAE/EC2 等服務

Page 53: MOPCON 2012 - 網路服務從 K 到 M

53

Cloud Service 對架構上的優點

• 省力 (不用搬機器 )

• 省時 (deploy快 )

• 爆量時 , 花錢就可以解決

Page 54: MOPCON 2012 - 網路服務從 K 到 M

54

CDN 、 Google API 等服務能用盡量用 , 在地球到處蓋機房 / 租雲端主機不一定

划算

Page 55: MOPCON 2012 - 網路服務從 K 到 M

55

祝福大家都能開發出需要煩惱數量級問題的服務

Page 56: MOPCON 2012 - 網路服務從 K 到 M

56

Thanks

Page 57: MOPCON 2012 - 網路服務從 K 到 M

57

工商服務一下

Page 58: MOPCON 2012 - 網路服務從 K 到 M

58

KKBOX 南部研發中心就在各位正下方 , 本棟 9F

Page 59: MOPCON 2012 - 網路服務從 K 到 M

59

而且我們持續徵募中iOS

Android

Mac OS

PHP Developer

QA Engineer

Web Front-

endWindows

Page 60: MOPCON 2012 - 網路服務從 K 到 M

60

前幾天才從 北海道 / 京都 /蘇美島 /澳洲 / 大阪 員工旅遊回

來 ...

Page 61: MOPCON 2012 - 網路服務從 K 到 M

61

Page 62: MOPCON 2012 - 網路服務從 K 到 M

62

Page 63: MOPCON 2012 - 網路服務從 K 到 M

63

除此之外 , 南部現在有MOPCON

(請鼓掌 )

還有 KSDG 、 Cocoaheads 、 MOSUT 、 KaLUG

等社群

Page 64: MOPCON 2012 - 網路服務從 K 到 M

64

所以 , 工程師們…

Page 65: MOPCON 2012 - 網路服務從 K 到 M

65

回來吧 , 孩子!

Page 66: MOPCON 2012 - 網路服務從 K 到 M

66

還有 !

Page 67: MOPCON 2012 - 網路服務從 K 到 M

67

老闆們!南下來設點吧!KKBOX 都來了 , 你還擔心什麼 ?

Page 68: MOPCON 2012 - 網路服務從 K 到 M

68

Thanks!& KKBOX 招募訊息

• 網址 :

http://www.kkbox.com/jobs

/

• 信箱 : [email protected]

• 電話 : 02-26557557 ext 106

or 167