Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
deploy legacy web on the cloud
Search
Ching Yi Chan
November 14, 2014
Programming
2
1.8k
deploy legacy web on the cloud
2014 JCCONF 快講:老舊 Web 上雲端
talk from
http://jcconf.tw/legacy-web-to-cloud.html
Ching Yi Chan
November 14, 2014
Tweet
Share
More Decks by Ching Yi Chan
See All by Ching Yi Chan
[coscup] Reading and modifying the source code of the dbt adapter
qrtt1
0
170
twjug-lite-17 結束了幾個月的 Java Web 培訓 站在人蔘迷途的我
qrtt1
0
110
[twjug-lite] 迷你研發部 [1]
qrtt1
0
1.2k
寫個好懂的程式
qrtt1
1
650
OAuth 2.0 Authorization Code Flow
qrtt1
0
310
types of knowledge
qrtt1
1
1.4k
twjug 小活動
qrtt1
0
500
TWJUG 2019
qrtt1
0
230
Learning Concepts
qrtt1
0
260
Other Decks in Programming
See All in Programming
CSC307 Lecture 02
javiergs
PRO
1
780
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
300
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
AI時代の認知負荷との向き合い方
optfit
0
160
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
460
Fluid Templating in TYPO3 14
s2b
0
130
Oxlint JS plugins
kazupon
1
970
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
470
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
55
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
62
The Cult of Friendly URLs
andyhume
79
6.8k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
83
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
KATA
mclloyd
PRO
34
15k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
老舊 Web 上雲端 qrtt1 #JCConf
ϼᔚ8FCɪථ၌ɽၤ $BDIF $%/ "DUJWF$BDIF ০࿁வϣਪᕚה፯ٙ˴ࠅ˙ج
$BDIF $%/ "DUJWF$BDIF ০࿁வϣਪᕚה፯ٙ˴ࠅ˙ج ྼ᜕ሯٙ˴ਗόҞ՟ ڢ੬ెพ ࠠอܠϽҞ՟ٙ࿁ၾഄଫ ϼᔚ8FCɪථ၌ɽၤ
$BDIF $%/ "DUJWF$BDIF ০࿁வϣਪᕚה፯ٙ˴ࠅ˙ج ྼ᜕ሯٙ˴ਗόҞ՟ ڢ੬ెพ ࠠอܠϽҞ՟ٙ࿁ၾഄଫ ਕٜՑ˰ޢٙး᎘ ϼᔚ8FCɪථ၌ɽၤ
老舊 Web 上雲端 ݊ɓ၇࿁ೌجၪᚐٙ8FCਖ਼ࣩٙయ၈
老舊 Web 上雲端 CBETNFMMɽණΥ όᅵٙEVQMJDBUFEDPEF όᅵٙMPOHNFUIPE DMBTT όᅵٙVOUFTUBCMFDPEF
老舊 Web 上雲端 ͟MFHBDZDPEF˄̙ə ɪථ၌ࠇྌdϞࡈɽۃlll ʔҷ݅Ϟό
老舊 Web + 老舊機器 *5ɛ⨈ٙ Ѣྤ Linux www.iradiopop.com 2.6.26.8-57.fc8
#1 SMP Thu Dec 18 18:59:49 EST 2008 x86_64 x86_64 x86_6
S1 S2 LB Պۨٙ8FCݖ ̨-PBEJOH#BMBODFS ߰ʍࡈܝ၌4FSWFS Ѣྤ
S1 S2 LB Դ͜ඎ တ̈Ըࣛn Ѣྤ
S1 S2 LB ೌجਕeϥዚeஹʔɪeࠠක ᑋٙ-# ึኬΣᒔঐਗٙዚኜ
S1 S2 LB ೌجਕeϥዚeஹʔɪeࠠක ᑋٙ-# ึኬΣᒔঐਗٙዚኜ
S1 S2 LB Ѣྤ Ϥɗ $SBTIᔔᔔؐ ߮༻ٙ4ZT"ENJO
S1 S2 LB ථ၌ Դ͜ඎ တ̈Ըࣛn
S1 S2 LB ථ၌ S3 S4 ఱ̋һεዚኜᱍϞ፺ॆλ
S1 S2 LB ථ၌ ᄳΎᒛٙ8FCேϞ፬ج 4DBMF0VU 4DBMF*O ̥݊ࠢɽ፩Ԅλணࠇٙϓۜ TUJDLZTFTTJPO
ν؈ЫܘϞ፺
貴、順、爽 貴、順、爽 LB ̙˸൯ܘ൮ٙዚኜ
窮 窮 LB ̙݊ɭ ɓছٙʃʮ̡ ε̒͟ک֝ٙዚኜක༊
輕 Ꮸী ཫၑϞࠢd ൯ʔՑԑ1PXFSٙዚኜࣛ ࡡ͉Ҟٙή˙ᜊ࿔ə$16 ࿔ٙή˙ᜊҞə*0
Ꮸী request business logic db query
Ꮸী request business logic cache db query
Ꮸী request business logic cache db query ᔚዚኜٙ*0ˢථ၌ᒔ࿔d ה˸ࡡ͉࿔ٙᜊҞə
Ꮸী request business logic cache db query ᔚዚኜٙ$16ˢථ၌ᒔҞd ה˸ࡡ͉Ҟٙᜊ࿔ə for(…)
{ for(…) { for(…) { /* 很暴⼒力地過濾資料 */ } } }
Ꮸী request cache db query business logic ৎԸ݊ࡈ һ࠽Ҟ՟ٙ࿁ Active
Cache
ܠ༩ Active Cache request cache heavy business logic ϞҞ՟dఱ݊න
ܠ༩ Active Cache request expired cache heavy business logic ӚҞ՟dఱഃ
ഃܙ
ܠ༩ Active Cache request heavy business logic active cache ٝ༸νОһอІʉٙҞ՟
"DUJWF$BDIF ʔഃܙ
ెพ Active Cache Active Cache ༟ࣘཀಂۃ ࣛ d˴ਗࠠҴ༟ࣘ ତϞٙ-JCSBSZ HVBWB$BDIF-PBEFS
BUTMFHBDZDPEF˄ᗭҷd Ӕ֛˸ʔҷDPEFމͦᅺ
ెพ Active Cache Դ͜"01ౢɝ"EWJDF ᜫCVTJOFTTMPHJD˕౪"DUJWF$BDIF ਗ਼NFUIPEDBMMᔷϓDBDIFLFZ ൗ̅NFUIPEDBMMЇDBDIFSFGSFTITDIFEVMFS
active cache ెพ Active Cache request business logic KEY Cached
Refresh Scheduler business logic method call to cache key register key + method call to scheduler
active cache ెพ Active Cache request business logic Cached Refresh
Scheduler cache storage auto refresh business logic Դ͜٫Ցٙ CVTJOFTTMPHJD ॆ͍ٙ CVTJOFTTMPHJD
ెพ Active Cache "DUJWF$BDIF͉Ը݊މəಯˇഃܙࣛගணࠇ ׳ίථ၌ɪdܦ̷ಯˇə#VTZ+PCว༟๕ٙਪᕚ ͟DBDIFSFGSFTITDIFEVMFSࠢՓ-PBEJOH
ྼЪ Active Cache ٙ฿ׂܘᔊఊ Դ͜"01"EWJDFᘗ࿚NFUIPEDBMM ,&:NFUIPE BSHVNFOUT
ྼЪ Active Cache NFUIPE" VTFS*OGP TUS JOU NBQ PUIFS1PKP
LFZTJHOBUVSF@ BSHT<> BSHT<> BSHT<n> NFUIPE"@6TFS!BBBB@TUS@@\B C^@ NFUIPE"@VTFS@TUS@@\B C^@ ϞԬيUP4USJOHܝٙഐ؈ʔΥ͜d౬ϓՉ˼तᅄ˾ಁ
ྼЪ Active Cache ϞԬيdӚϞHFUUFSঐ՟तᅄl ͜"01ᘗ࿚ܔɿਞᅰdႡЪᗆй༟ࣘ NFUIPE# VTFS-JTU DPNQBSBUPS NFUIPE#@VTFS@VTFS@n@DPNQBSBUPS!BC
NFUIPE#@VTFS@VTFS@n@DNQ!4PSU#Z%BUF
ྼЪ Active Cache "DUJWF$BDIFνОٝ༸༈һอək ݊6TFSխ̣ٙఱΟ$BDIF ݊4DIFEVMFSխ̣ٙఱ3FGSFTI javax.servlet.http.HttpServlet.service(HttpServlet.java:641) stacktrace 看到 HttpServlet.service
就當他是 User 唄
Ⴣ˙ ආɝථ၌ࣛ˾d 8FC"QQԱᔚ݊τༀί4FSWFSɪٙ ࠅνОਕᕎዚג༰Ⴣٙ܄˒݊ࡈਪᕚ
Ⴣ˙ ܄˒௰ɽdШ܄˒ٙЗໄܘᏇ҄lll ڛזЬeڶᖯeΙܓeࡾʿen ᕎ7.ዚגܘჃd Шᕎ$%/&EHF-PDBUJPOӚԟჿჃf
Ⴣ˙ л͜$%/ෂਗ࿒༟ࣘdቇΥᔊఊٙ3&45'6-4FSWJDF request / response λჃ˅ྪჃ
Ⴣ˙ λჃ˅ྪჃ filter CDN )551 ࡡԸҢࡁவჿڐ request / response ਕٜՑ˰ޢٙး᎘
л͜$%/ෂਗ࿒༟ࣘdቇΥᔊఊٙ3&45'6-4FSWJDF DBDIFEVSM
Ⴣ˙ਕٜՑ˰ޢٙး᎘ νОԴ$BDIF&YQJSF $%/JOWBMJEBUJPOܘ࿔d౬༩ࢰܘҞ IUUQDEOUJNFXJOEPXUPLFOSDBDIFLFZ IUUQDEOUJNFXJOEPXUPLFOHDBDIFLFZ IUUQDEOUJNFXJOEPXUPLFOCDBDIFLFZ ⼩小⼼心安全問題,不要放敏感資料
$BDIF $%/ "DUJWF$BDIF ০࿁வϣਪᕚה፯ٙ˴ࠅ˙ج ྼ᜕ሯٙ˴ਗόҞ՟ ڢ੬ెพ ࠠอܠϽҞ՟ٙ࿁ၾഄଫ ਕٜՑ˰ޢٙး᎘ 2" ϼᔚ8FCɪථ၌