เผยแพร่เมื่อ

Uber ให้บริการการอ่าน 40 ล้านครั้งด้วยแคช Redis ในตัวอย่างไร

ผู้เขียน

Image

"การดำเนินการมี 3 ส่วนหลัก:

1 - CacheFront อ่านและเขียนด้วย CDC

  • Uber ได้สร้าง CacheFront ซึ่งเป็นโซลูชันแคชที่ผสานรวมกับ Redis, Docstore และ MySQL

  • แทนที่จะเป็นไมโครเซอร์วิส โปรแกรมสืบค้นของ Docstore จะสื่อสารกับ Redis เพื่อขออ่าน

  • สำหรับการเข้าถึงแคช โปรแกรมสืบค้นจะดึงข้อมูลจาก Redis สำหรับแคชที่หายไป คำขอไปที่กลไกการจัดเก็บข้อมูลและฐานข้อมูล

  • ในกรณีของการเขียน บริการ CDC (Flux) ของ Docstore จะทำให้บันทึกใน Redis เป็นโมฆะ มันติดตามเหตุการณ์ MySQL binlog เพื่อกระตุ้นให้เกิดการใช้งานไม่ได้

2 - การอุ่นแคชหลายภูมิภาคด้วยการสตรีม Redis

  • การเปลี่ยนระบบภูมิภาคอาจส่งผลให้เกิดการพลาดแคชและทำให้ฐานข้อมูลโอเวอร์โหลด

  • เพื่อจัดการสิ่งนี้ ทีมวิศวกรของ Uber ใช้การจำลอง Redis ข้ามภูมิภาค ซึ่งทำได้โดยการกำหนดสตรีมการเขียน Redis เพื่อจำลองคีย์ไปยังพื้นที่ห่างไกล

  • ในพื้นที่ห่างไกล ผู้บริโภคสตรีมจะออกคำขออ่านไปยังกลไกการสืบค้นที่อ่านฐานข้อมูลและอัปเดตแคช

3 - Redis และ Docstore Sharding

  • ทุกทีมใน Uber ใช้ Docstore และบางทีมก็สร้างคำขอจำนวนมาก

  • ทั้งอินสแตนซ์ Redis และ Docstore จะถูกแบ่งส่วนหรือแบ่งพาร์ติชันเพื่อรองรับโหลด แต่คลัสเตอร์ Redis เดียวที่ล่มอาจสร้างชาร์ด DB ด่วน

  • เพื่อป้องกันสิ่งนี้ พวกเขาจึงแบ่งพาร์ติชันคลัสเตอร์ Redis โดยใช้รูปแบบที่แตกต่างจากการแบ่งส่วน DB เพื่อให้แน่ใจว่าโหลดจะกระจายเท่าๆ กัน "

ผู้เขียน

Ai Base Network (ABN), ABN ASIA ถูกก่อตั้งขึ้นโดยคนที่มีรากฐานลึกในวงการวิชาการ มีประสบการณ์การทำงานในสหรัฐอเมริกา ดัตช์ ฮังการี ญี่ปุ่น เกาหลีใต้ สิงคโปร์ และเวียดนาม ABN Asia เป็นที่เราพบกันของวิทยาลัยและเทคโนโลยี ด้วยโซลูชันขั้นสูงและบริการพัฒนาซอฟต์แวร์ที่มีความสามารถ เราช่วยธุรกิจเติบโตและเข้าสู่ฉากโลก ความมุ่งมั่นของเรา: ด่วนขึ้น ดีขึ้น น่าเชื่อถือมากขึ้น ในกรณีส่วนมาก: ราคาถูกด้วย

หากคุณต้องการบริการ IT การให้คำปรึกษาดิจิทัล โซลูชันซอฟต์แวร์ใช้ได้หรือหากคุณต้องการส่งคำขอข้อเสนอ (RFPs) อย่าลังเลที่จะติดต่อเรา คุณสามารถติดต่อเราได้ที่ [email protected] เราพร้อมช่วยเหลือคุณด้านทุกความต้องการทางเทคโนโลยีของคุณทุกเมื่อ

ABNAsia.org

© ABN ASIA