Memcached ใช้การแฮชที่สอดคล้องกันหรือไม่
Memcached ใช้การแฮชที่สอดคล้องกันหรือไม่

วีดีโอ: Memcached ใช้การแฮชที่สอดคล้องกันหรือไม่

วีดีโอ: Memcached ใช้การแฮชที่สอดคล้องกันหรือไม่
วีดีโอ: What is Consistent Hashing and Where is it used? 2024, อาจ
Anonim

การแฮชที่สม่ำเสมอ กับ Memcached หรือ Redis และโปรแกรมแก้ไขสำหรับ libketama นี้ เป็น วิธีการสำหรับ การแฮชที่สม่ำเสมอ ของคีย์ในที่เก็บคีย์-ค่า โดยเน้นที่แคชเซิร์ฟเวอร์ รหัส เป็น ไม่เชื่อเรื่องพระเจ้าของเซิร์ฟเวอร์แคช: มี เป็น ไม่มีอะไรเฉพาะเจาะจงสำหรับ Memcached หรือ Redis ในนั้นและสามารถใช้กับเซิร์ฟเวอร์อื่นได้

เมื่อคำนึงถึงสิ่งนี้ การแฮชที่สอดคล้องกันจะใช้ที่ใด

ในระบบแบบกระจาย การแฮชที่สม่ำเสมอ ช่วยในการแก้ไขสถานการณ์ต่อไปนี้: เพื่อให้การปรับขนาดแบบยืดหยุ่น (term ใช้แล้ว เพื่ออธิบายการเพิ่ม/ลบเซิร์ฟเวอร์แบบไดนามิกตามโหลดการใช้งาน) สำหรับเซิร์ฟเวอร์แคช ขยายขนาดชุดของโหนดพื้นที่เก็บข้อมูล เช่น ฐานข้อมูล NoSQL

Redis ใช้การแฮชที่สอดคล้องกันหรือไม่ NS กัญชา สล็อตคล้ายกับโหนดเสมือนใน การแฮชที่สม่ำเสมอ . การกระจายข้อมูลของ Cassandra เป็น เกือบเท่ากับ redis คลัสเตอร์ และบทความนี้บอกว่ามันคือ การแฮชที่สม่ำเสมอ . แต่ redis กลุ่ม turorial กล่าวว่า redis กลุ่ม ทำ ไม่ ใช้แฮชที่สอดคล้องกัน.

ดังนั้น Cassandra จึงใช้การแฮชที่สอดคล้องกันหรือไม่

2 คำตอบ แคสแซนดราทำ ไม่ ใช้การแฮชที่สอดคล้องกัน ในแบบที่คุณอธิบาย แต่ละตารางมีพาร์ติชั่นคีย์ (คุณสามารถคิดว่ามันเป็นคีย์หลักหรือส่วนแรกของมันในคำศัพท์ RDBMS) คีย์นี้คือ แฮชโดยใช้ อัลกอริทึม murmur3 ทั้งหมดนี้ กัญชา ช่องว่างก่อตัวเป็นวงแหวนต่อเนื่องจากต่ำสุดที่เป็นไปได้ กัญชา สูงสุด

เหตุใดเราจึงต้องมีการแฮชที่สม่ำเสมอ

การเปลี่ยนแปลงและทุกวัตถุ ถูกแฮช ไปยังสถานที่ใหม่ นี้ สามารถ เป็นหายนะตั้งแต่เซิร์ฟเวอร์เนื้อหาเริ่มต้น เป็น เต็มไปด้วยคำขอจากเครื่องแคช เพราะฉะนั้น จำเป็นต้องมีการแฮชที่สอดคล้องกัน เพื่อหลีกเลี่ยงไม่ให้เซิร์ฟเวอร์ล้น การแฮชที่สม่ำเสมอ แมปวัตถุกับเครื่องแคชเดียวกันให้มากที่สุด

แนะนำ: