ด้วยประสบการณ์มากกว่า 34 ปีในการออกแบบและสร้างแอปพลิเคชัน SaaS ลี อัตชิสัน เป็นผู้นำทางความคิดและผู้เชี่ยวชาญด้านการปรับแอปพลิเคชันให้ทันสมัย การโยกย้ายระบบคลาวด์ และการเปลี่ยนแปลง DevOps คุณสามารถอ่านหรือชมความเชี่ยวชาญของเขาที่จัดแสดงผ่านหนังสือสามเล่มของเขา บทความที่ตีพิมพ์มากกว่า 70 บทความ หรือการนำเสนอ ชั้นเรียน และการสัมมนากว่า 100 รายการ
คุณและทีมของคุณได้พัฒนาแอปพลิเคชันที่คู่ควรกับความสนใจของผู้คน ปากต่อปากแพร่กระจายและความนิยมก็พุ่งสูงขึ้น แต่ค่าใช้จ่ายในการดำเนินการเริ่มพุ่งสูงขึ้น แอปขัดข้องอย่างต่อเนื่อง และลูกค้าทำสิ่งที่คิดไม่ถึง—พวกเขาทวีตเกี่ยวกับความเร็วที่ช้ามาก
เมื่อฐานลูกค้าของคุณเติบโตขึ้น คุณจะป้องกันต้นทุนไม่ให้สูงขึ้นได้อย่างไร คุณยินดีรับความท้าทายของการปรับขนาด แต่คุณก็ไม่สามารถเสียสละการเติบโตเพื่ออัตราการเฟลโอเวอร์ที่สูงขึ้นและค่าบำรุงรักษาที่เพิ่มขึ้นได้
สิ่งหนึ่งที่แน่นอน:คุณต้องมีแคชของแอปพลิเคชัน
แคชคืออะไร?
“แคชเป็นองค์ประกอบการจัดเก็บข้อมูลที่สามารถเข้าถึงได้เร็วกว่าหรือมีประสิทธิภาพมากกว่าแหล่งข้อมูลดั้งเดิม”
Lee Atchison, Caching at Scale With Redis.
เมื่อมีการร้องขอให้ดึงข้อมูล แคชจะให้สำเนาของข้อมูลนั้นในแบบเรียลไทม์ และเมื่อมีลูกค้าเริ่มใช้แอปของคุณมากขึ้นเรื่อยๆ คุณต้องมีสถาปัตยกรรมแอปพลิเคชันขั้นสูงที่สามารถจัดการคำขอข้อมูลที่เพิ่มขึ้นเหล่านั้นได้โดยไม่ต้องไปมาระหว่างที่เก็บข้อมูลหลักของคุณ
Lee สรุปง่ายๆ ว่า “โลกสมัยใหม่ของเราต้องการการใช้งานที่ทันสมัย”
ไม่เป็นความลับที่ลูกค้าต้องการประสิทธิภาพที่ดีขึ้นและดีขึ้น หากแอปพลิเคชันของคุณไม่เป็นไปตามความคาดหวังของลูกค้า ลูกค้าเหล่านั้นก็จะออกไปและแห่กันไปที่คู่แข่งของคุณ
และเบื้องหลังของทุกแอปพลิเคชันที่รวดเร็วและใช้งานง่ายคือชิ้นส่วนที่เคลื่อนไหวได้มากมาย ดังที่ลีกล่าวไว้ว่า "แอปพลิเคชันในวันนี้ต้องสามารถจัดการข้อมูลจำนวนมาก ดำเนินการที่ซับซ้อน รักษาความสัมพันธ์มากมายระหว่างองค์ประกอบข้อมูล และดำเนินการในสถานะที่แตกต่างกันและแตกต่างกันระหว่างธุรกรรม"
อาการปวดหัวเกิดขึ้นได้ภายในแอปพลิเคชันที่ซับซ้อน และมีแคชไว้เพื่อย่อให้เล็กสุด
อ่าน การแคชตามขนาดด้วย Redis
ใน การแคชตามขนาดด้วย Redis , Lee ขอแนะนำว่าการแคชคืออะไร เหตุใดและเมื่อใดที่คุณต้องการ และแนวทางปฏิบัติในการแคชที่จะช่วยให้แอปพลิเคชันของคุณได้รับประสิทธิภาพสูงสุด
เมื่อผู้ใช้ร้องขอข้อมูลจากบริการ การดำเนินการจะได้รับข้อมูลนั้นจากร้านค้า แล้วส่งต่อข้อมูลนั้นกลับไปยังผู้บริโภค Lee ตั้งข้อสังเกตว่าการดำเนินการเหล่านี้อาจต้องใช้ทรัพยากรและเวลามาก โดยเฉพาะอย่างยิ่งหากมีการดึงข้อมูลเดิมซ้ำแล้วซ้ำอีก
“แทนที่จะใช้แคช ในครั้งแรกที่มีการดำเนินการที่ซับซ้อน ผลลัพธ์จะถูกส่งคืนไปยังผู้บริโภค และสำเนาของผลลัพธ์จะถูกเก็บไว้ในแคช ในครั้งต่อไปที่จำเป็นต้องใช้ข้อมูล แทนที่จะดำเนินการที่ซับซ้อนซ้ำแล้วซ้ำอีก สามารถดึงผลลัพธ์ออกจากแคชได้โดยตรงและส่งคืนให้ผู้บริโภคเร็วขึ้นและใช้ทรัพยากรน้อยลง”
อะไรคือการแก้ไขแคช—แต่ทำไมมันไม่สมบูรณ์แบบ
การแคชไม่ใช่ที่เก็บข้อมูลขนาดเดียวที่เหมาะกับทุกคน สถาปัตยกรรมแอปพลิเคชันแตกต่างกันไปตามแต่ละบอร์ด โดยเฉพาะอย่างยิ่งเนื่องจากขนาดของแอป หรือแม้แต่กรณีการใช้งานในอุตสาหกรรม อย่างไรก็ตาม Lee กล่าวว่ามีคุณลักษณะหลักสี่ประการที่การแคชจะช่วยปรับปรุง:
- ประสิทธิภาพ
- การปรับขนาด
- การเพิ่มประสิทธิภาพทรัพยากร
- ความสะดวกและความพร้อมใช้งาน
ไม่ได้หมายความว่าการใช้แคชจะมอบสิ่งเหล่านี้ให้คุณโดยอัตโนมัติ
"ในหลายกรณี การแคชอาจไม่เพิ่มมูลค่า และในบางกรณี การแคชอาจทำให้ประสิทธิภาพลดลง" Lee กล่าว เขายกปัญหาที่อาจเกิดขึ้นสามประการ:
- การแคชอาจทำให้แอปพลิเคชันไม่ดำเนินการตามผลข้างเคียงที่ต้องการของการดำเนินการเป้าหมาย
- ข้อมูลไม่สอดคล้องกันในแคช
- ประสิทธิภาพของแคชไม่ดี
Lee ตั้งข้อสังเกตว่าตัวแปรบางอย่างจะต้องเป็นจริงเพื่อให้แคชมีประโยชน์ (ดูหน้า 8 ของ e-book สำหรับรายการกฎ) "เพื่อให้แคชมีประสิทธิภาพ คุณต้องมีความเข้าใจอย่างถ่องแท้เกี่ยวกับการกระจายการเข้าถึงข้อมูลทางสถิติจากแอปพลิเคชันหรือแหล่งข้อมูลของคุณ" Lee กล่าว
นำเสนอตัวเองด้วย playbook แคชขั้นสูงสุด
ตอนนี้คุณรู้แล้วว่าคุณต้องการแคช e-book ฟรีเล่มนี้เป็นไพรเมอร์เพียงตัวเดียวที่คุณต้องใช้เพื่อสร้างและปรับขนาดแคชของคุณด้วย Redis
จากตัวลีเอง:“หนังสือเล่มนี้อธิบายว่าการแคชคืออะไร เหตุใดจึงเป็นรากฐานสำคัญของแอปพลิเคชันสมัยใหม่ขนาดใหญ่ที่มีประสิทธิภาพ และวิธีที่ Redis สามารถช่วยให้คุณตอบสนองความต้องการแคชที่ต้องการเหล่านี้ได้”
ในขณะที่คุณดำดิ่งสู่ e-book การแคชตามมาตราส่วนด้วย Redis อภิปรายเกี่ยวกับกลยุทธ์การแคชประเภทต่างๆ และให้คำอธิบายเชิงปฏิบัติว่ากลยุทธ์เหล่านี้เหมาะสมกับคุณอย่างไร โดยเฉพาะอย่างยิ่งหากคุณอยู่ในระบบคลาวด์
"ในขณะที่มีวิธีการ กระบวนการ และเทคนิคมากมายในการสร้างแอปพลิเคชันให้มีความพร้อมใช้งานสูงตามขนาด การแคชเป็นเทคนิคหลักในเกือบทั้งหมด" Lee กล่าว
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ e-book โปรดไปที่ หน้า