အဓိက Project

V1 Production ပုံစံ Traditional Search Platform

Availability Zone အများအပြားပါဝင်သော AWS VPC၊ CloudFront၊ API Gateway၊ S3 presigned upload၊ SQS နှင့် DLQ၊ Python worker၊ OpenSearch BM25၊ IAM၊ monitoring၊ Terraform နှင့် Docker တို့ကို အသုံးပြုထားသော search platform။

ဤအကြောင်းအရာနှင့် ရက်စွဲများမှာ layout အတွက် နမူနာပါ။

ပရောဂျက်၏ ရည်ရွယ်ချက်

ဒီနမူနာမှာ document တွေကို upload လုပ်နိုင်ပြီး asynchronous processing ဖြင့် စီမံကာ အကြောင်းအရာတွေကို search လုပ်နိုင်တဲ့ system ကို လေ့လာထားပါတယ်။

Architecture

Static frontend က presigned upload URL ရဖို့ API ကို ခေါ်ပါတယ်။ Browser က S3 ကို တိုက်ရိုက် upload လုပ်ပြီး event-driven queue က upload traffic နဲ့ document worker တွေကို ခွဲထားပါတယ်။ Worker တွေက စာသားထုတ်ယူပြီး OpenSearch မှာ index လုပ်ပါတယ်။

ဒီဒီဇိုင်းကို ရွေးချယ်ရခြင်း

  • Queue ကြောင့် worker တွေက ကိုယ့် processing capacity နဲ့အညီ အလုပ်လုပ်နိုင်ပါတယ်။
  • အကြိမ်ကြိမ် မအောင်မြင်တဲ့ message တွေကို DLQ မှာ ထိန်းသိမ်းပြီး စစ်ဆေးနိုင်ပါတယ်။
  • Component တစ်ခုချင်းစီအတွက် IAM role သီးခြားထားခြင်းက access permission ကို ကန့်သတ်ပေးပါတယ်။

စမ်းသပ်အတည်ပြုရန်

Document တစ်ခု upload လုပ်ပြီး processing status ကို စောင့်ကြည့်ပါ။ သိပြီးသား စကားစုကို ရှာဖွေကာ event ထပ်ရောက်ချိန် worker ၏ လုပ်ဆောင်ပုံကို စမ်းသပ်ပါ။ ဒီနမူနာကို မိမိရဲ့ ရလဒ်နဲ့ architecture diagram ဖြင့် အစားထိုးပါ။

Processing Flow (Mermaid နမူနာ)