ใช้ CDN บน Google Cloud Storage

เคยไหม ?​ ทำเว็บที่มีภาพ หรือ script, style เยอะ ๆ เวลาคนจากต่างประเทศเข้ามาแล้วโหลดช้า เพราะมัวแต่รอโหลด assets ต่าง ๆ

ปัญหานี้จะหมดไปเมื่อเราใช้ CDN

เพราะเวลาคนเข้ามาดึง assets ถ้า CDN มีไฟล์ CDN จะส่งไฟล์กลับไปแทน ทำให้ลด load ที่ server ของเราด้วย

แต่ถ้าจะใช้ CDN ก็ต้องไป Setup ยุ่งยาก

จริง ๆ แล้วตัว Google Cloud Storage มี Load Balancer ที่เปิด CDN ไว้อยู่แล้ว

เราแค่ปรับ Cache-Control ให้ถูก ไฟล์ของเราก็จะไปเก็บบน CDN เอง

ลองดูจากไฟล์รูป jpeg ขนาด 268KB ไฟล์เดียวกัน
อันบน Cache-Control เป็น private
ส่วนอันล่าง Cache-Control เป็น public, max-age=3600

รูป cap screen จาก https://latency.apex.sh

จะเห็นว่าแค่ตั้ง Cache-Control ให้ถูก เราก็จะได้ใช้ CDN ทันที ไม่ต้องไป setup อะไรเลย

แต่ถ้าจะให้ดี เราควรจะตั้งชื่อไฟล์ให้ไม่ซ้ำกัน เช่น ใส่ hash ลงในชื่อไฟล์ หรือจะใช้ UUID ก็ได้

ถ้าจะเปลี่ยน content ให้ตั้งชื่อใหม่แทนที่จะ Upload ไปทับไฟล์เดิม

แล้วก็ปรับ Cache-Control ให้เต็มที่ไปเลย

Cache-Control: public, max-age=31536000

แค่นี้ก็ได้ CDN ไปใช้แบบไม่ต้องไป Setup Load Balancer แล้ว เย่ :D

Like what you read? Give acoshift a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.