← Blog

Freeable 3.13.0 — รวมบริการเป็นหนึ่งเดียว ลดการใช้หน่วยความจำ 5-6 เท่า

รีลีสใหญ่ที่เปลี่ยนวิธีรันระบบทั้งหมด และเพิ่มเครื่องมือใหม่หลายตัวในคราวเดียว

ลดการใช้หน่วยความจำ 5-6 เท่า

เดิมแต่ละบริการรันแยกกันเป็นคนละกระบวนการ ซึ่งแปลว่าต้องโหลดโครงสร้างพื้นฐานชุดเดียวกันซ้ำหลายรอบ กินหน่วยความจำมหาศาลโดยไม่จำเป็น

รีลีสนี้รวมทุกบริการของโดเมนหนึ่งให้อยู่ในกระบวนการเดียว โดยยังแยกกันได้ในระดับโค้ด — แต่ละบริการยังเป็นส่วนของตัวเองที่พัฒนาแยกกันได้ เพียงแต่รันอยู่ด้วยกัน

ผลคือเครื่องเดิมรองรับลูกค้าได้มากขึ้นหลายเท่า ซึ่งกระทบต้นทุนต่อลูกค้าหนึ่งรายโดยตรง และรวมกับการย้ายไป Linux และ PostgreSQL ในสามรีลีสก่อนหน้า ทำให้ต้นทุนโครงสร้างพื้นฐานลดลงอย่างมีนัยสำคัญ

พร้อมกันนั้นแยกความล้มเหลวของแต่ละส่วนออกจากกัน — ถ้าส่วนหนึ่งมีปัญหา ส่วนที่เหลือยังทำงานต่อได้ ไม่ใช่ล้มทั้งกระบวนการ

ระบบติดตามงานภายใน

ระบบแจ้งและติดตามปัญหาที่ทีมงานใช้กันเอง เก็บเรื่องที่ต้องตามให้จบไว้ในที่เดียวแทนการกระจายอยู่ในแชท

คิวข้อความขาเข้ารวมศูนย์

ข้อความและการแจ้งเตือนจากทุกช่องทางเข้ามารวมที่คิวเดียว แล้วมีตัวประมวลผลดึงไปทำต่อ

ข้อดีคือถ้าระบบปลายทางล่มชั่วคราว ข้อความไม่หาย มันรออยู่ในคิวและถูกประมวลผลเมื่อระบบกลับมา ต่างจากเดิมที่แต่ละช่องทางจัดการเองและข้อความหายได้

ตัวจัดการงานเบื้องหลัง

ระบบเดียวขับงานอัตโนมัติราว 55 งาน โดยตั้งรอบเวลา จำนวนครั้งที่ลองใหม่ และเปิด/ปิดได้ทีละงาน

ก่อนหน้านี้งานอัตโนมัติกระจายอยู่ตามที่ต่าง ๆ ไม่มีใครตอบได้ว่าตอนนี้มีงานอะไรรันอยู่บ้าง รันสำเร็จหรือไม่ และถ้าอยากปิดชั่วคราวต้องทำอย่างไร

เครื่องมือคลังสินค้า

แดชบอร์ดหน้าแรกของคลังที่แสดงโครงหน้าทันทีแล้วค่อยดึงตัวเลขตามมา ผู้ใช้จึงเห็นหน้าจอเลยแทนที่จะนั่งรอหน้าขาวจนกว่าจะคำนวณเสร็จ

ส่ง SMS ได้ครบทุกแบบ

เชื่อมกับผู้ให้บริการ SMS ครบทุกรูปแบบ — รหัส OTP ส่งเดี่ยว ส่งกลุ่ม และส่งต่างประเทศ โดยทำเป็นตัวเชื่อมกลางที่ทุกส่วนของระบบเรียกใช้ร่วมกัน

รับคืนสินค้าจากมาร์เก็ตเพลส

เพิ่มขั้นตอนการรับคืนสินค้าจากแพลตฟอร์มออนไลน์แบบ 5 ขั้น พร้อมรับการแจ้งเตือนจากแพลตฟอร์มเพื่อประมวลผลการคืนและการจัดส่งอัตโนมัติ

แก้ปัญหาหน่วยความจำรั่ว

การรวมบริการเข้าด้วยกันทำให้ปัญหาหน่วยความจำรั่วที่เคยซ่อนอยู่โผล่ขึ้นมาชัดเจน เพราะทุกอย่างอยู่ในกระบวนการเดียวกัน

  • การสร้างตัวเชื่อมต่อใหม่ทุกครั้งที่เรียก API — พบใน 41 จุดในตัวเชื่อม Shopee เพียงตัวเดียว ซึ่งเป็นข้อผิดพลาดที่พบบ่อยที่สุดอย่างหนึ่งและกินทรัพยากรระบบจนหมด
  • หน่วยความจำรั่ว 6 จุด จากโครงสร้างข้อมูลที่ไม่ปลอดภัยเมื่อหลายส่วนเข้าถึงพร้อมกัน

จัดระเบียบชื่อและถอดของที่ไม่ใช้

  • เปลี่ยนชื่อบริการให้สื่อความหมาย — ชื่อเดิมบอกวิธีการทำงานภายในแทนที่จะบอกหน้าที่
  • ถอดบริการที่ซ้ำซ้อน — บริการอัปโหลดหลักฐานและบริการเกี่ยวกับ e-Tax ที่ถูกแทนที่ด้วยส่วนที่ทำงานในกระบวนการเดียวกันแล้ว
  • ตัดสิ่งที่ไม่ได้ใช้จริงออกจากเอกสารสถาปัตยกรรม — ตัวกระจายโหลด ระบบตรวจว่าเป็นมนุษย์ และชุดเครื่องมือแผนที่ ซึ่งเขียนไว้ในแผนแต่ไม่เคยใช้จริง
Freeable

บริหารจัดการข้อมูลในองค์กร ครบในที่เดียว

ดูรายละเอียด →

อ่านต่อ

Freeable

บั๊กที่เกิดบ้างไม่เกิดบ้าง — เราไม่เพิ่มเวลา เราเอาเวลาออก

เทสต์ของ Freeable แดงหนึ่งครั้งแล้วเขียวตลอด — บันทึกการไล่หาสาเหตุแบบ investigate-first ที่จบลงด้วยการเอานาฬิกาออกจากเทสต์ แทนที่จะเพิ่มเวลาให้มัน

Freeable

ทำไม AI ถึงตอบคำถามธุรกิจของคุณไม่ได้ — บันได 5 ขั้นของการถามข้อมูลเป็นภาษาคน

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

Freeable

backup ที่รายงานว่าสำเร็จ 1,769 ไฟล์ แต่ป้องกันอะไรไม่ได้เลย — 3-2-1 ไม่พอแล้ว

เราเปิดงานสำรองไฟล์เอกสารภาษี มันคัดลอกครบ 1,769 ไฟล์ รายงานล้มเหลว 0 เขียวสนิท แล้วเราพบว่าปลายทางอยู่ดิสก์เดียวกับต้นฉบับ บทความนี้รวมรูปแบบ backup ที่ใช้จริงนอกจาก 3-2-1 และเล่าว่าทำไม "เขียว" ถึงเป็นสิ่งที่ต้องระวังที่สุด