การโยกย้าย Solr เป็น Opensearch
May 06 2023
การโยกย้ายเอกสาร 100 ล้านฉบับจาก Solr ไปยัง OpenSearch
เราใช้ solr สำหรับการค้นหาอีคอมเมิร์ซ/ฟีด/คำแนะนำอัตโนมัติ/กรณีการใช้งานในแบบของคุณ ความท้าทายกับ solr cluster ELK มาพร้อมกับสิทธิ์การใช้งานแบบยืดหยุ่น
เราใช้ solr สำหรับการค้นหาอีคอมเมิร์ซ/ฟีด/คำแนะนำอัตโนมัติ/กรณีการใช้งานในแบบของคุณ
ความท้าทายกับคลัสเตอร์โซลาร์
- การจัดการโครงสร้างพื้นฐานของโซลเยอร์ (ผู้ดูแลสัตว์, JVM, การวิเคราะห์ GC เป็นต้น) เป็นสิ่งที่ท้าทาย โดยทั่วไปแล้ว เราต้องการนักพัฒนาเฉพาะ (SRE/SDE-3) สำหรับมัน
- การอัปเกรดเป็นเวอร์ชันใหม่ที่เสถียรกว่า การสนับสนุนจากชุมชนน้อยลงสำหรับประเด็นสำคัญใดๆ

ตอนนี้ ELK มาพร้อมกับใบอนุญาตยืดหยุ่นระดับพรีเมียม ดังนั้นเราจึงเลือกใช้ opensearch เนื่องจากเป็น opensource มันขึ้นอยู่กับรุ่น elasticsearch 7.10 มีใบอนุญาต apache
ความท้าทายที่สำคัญ
- รหัสที่มีอยู่มีปัญหาในการออกแบบ คู่กับโซลเยอร์แน่นๆ. สถาปัตยกรรมไมโครเซอร์วิสและการพึ่งพาบริการที่หลากหลาย
- คลัสเตอร์ขนาดใหญ่ในบางภูมิภาคและการเปิดตัวตามประเทศ
- เราใช้ Terraform สำหรับการสร้างคลัสเตอร์ของ opensearch ในทุกภูมิภาค
- สำหรับรหัสเราใช้รูปแบบการออกแบบโรงงานและรูปแบบการออกแบบอะแดปเตอร์
- การนำเข้าข้อมูลแบบขนานทั้งใน opensearch & Solr
- การย้ายข้อมูลเดลต้า opensearch & solr โดยบริการทำดัชนีใหม่ของเรา
- การเปิดตัวบริการทีละรายการพร้อมการสนับสนุนทั้ง opensearch & Solr
- เมื่อขั้นตอนที่ 1 ถึง 5 พร้อมแล้ว เราวางแผนเปิดตัวและติดตาม newRelic อย่างชาญฉลาดในแต่ละประเทศ

คอขวดหลัก : มันอยู่ที่ตัวเลือกของเครื่อง AWS ประเภทโหนด c5 เราแก้ไขโดยการเปรียบเทียบและเลือกใช้ c6g
ผลลัพธ์
เราย้ายเอกสารมากกว่า 100 ล้านฉบับจาก Solr ไปยัง OpenSearch โดยไม่มีเวลาหยุดทำงาน การย้ายข้อมูลเกี่ยวข้องกับโหนดมากกว่า 100 โหนดบน Solr และ OpenSearch เรายังสามารถประหยัดเงินได้ประมาณ 0.8 ล้านเหรียญสหรัฐ
อ้างอิง
- รูปแบบการออกแบบโรงงาน
- เทอร์ราฟอร์ม
- เปิดการค้นหา
- โซล
- รูปแบบการออกแบบอะแดปเตอร์