การโยกย้าย 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

ความท้าทายที่สำคัญ

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

คอขวดหลัก : มันอยู่ที่ตัวเลือกของเครื่อง AWS ประเภทโหนด c5 เราแก้ไขโดยการเปรียบเทียบและเลือกใช้ c6g

ผลลัพธ์

เราย้ายเอกสารมากกว่า 100 ล้านฉบับจาก Solr ไปยัง OpenSearch โดยไม่มีเวลาหยุดทำงาน การย้ายข้อมูลเกี่ยวข้องกับโหนดมากกว่า 100 โหนดบน Solr และ OpenSearch เรายังสามารถประหยัดเงินได้ประมาณ 0.8 ล้านเหรียญสหรัฐ

อ้างอิง

  1. รูปแบบการออกแบบโรงงาน
  2. เทอร์ราฟอร์ม
  3. เปิดการค้นหา
  4. โซล
  5. รูปแบบการออกแบบอะแดปเตอร์