Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

ระบบที่ดีควรมีสิ่งต่าง ๆ เหล่านี้บ้างนะ

$
0
0

ระหว่างรอรถกลับบ้าน ทำการสรุปสิ่งที่จำเป็นต่อการพัฒนาระบบงาน แต่ในปัจจุบันเราพยายามแยกระบบงานใหญ่ออกเป็น service เล็ก ๆ หรือบางคนอาจจะเรียกว่า Microservices สิ่งที่น่าสนใจคือ ในการพัฒนาระบบงานนั้น เราต้องคำนึงถึงอะไรบ้าง

Interface สำหรับการเชื่อมต่อกับ service หรือระบบอื่น ๆ

ซึ่งมีหลากหลายมาก ๆ เช่น
  • JSON
  • JSON-RPC
  • Thrift
  • Protocol Buffers
รวมไปถึง Protocol ของการติดต่อสื่อสาร โดยในปัจจุบันก็จะใช้ REST และ RPC ส่วน WebService ก็เห็นมีบ้างนะ แต่อาจจะมี overhead สูงหน่อย หรืออาจจะมี Legacy Protocol ซึ่งนิยมนำเอา 3 protocol ด้านบนมาครอบอีกชั้น !!

Pattern หรือรูปแบบที่ระบบงานน่าจะต้องมี

ยิ่งในโลกของ Microservices ยิ่งจำเป็นและมีการพูดคุยกันมา ยกตัวอย่างเช่น
  • Circuit breaking ถ้าปล่อยให้ผู้ใช้เรียก service ที่ทำงานแย่ ๆ เช่น ทำงานช้า ใช้ memory เยอะ ๆ คงไม่ดีแน่นอน
  • Service discovery/registry ถ้ามี service จำนวนมาก ๆ การนำ service เข้าและออก แบบง่าย ๆ น่าจะดีไม่น้อย รวมทั้งสามารถดูได้ด้วยว่ามี service อะไรบ้าง ก็น่าจะแจ่มมาก ๆ คนใช้งาน service ก็มีหาและเชื่อมต่อ service จากที่นี่เลย One Stop Service ชัด ๆ แต่ระวังเรื่อง Single Point of Failure นะ ย้อนกลับไป SOA มันก็คุ้น ๆ นะ
  • Health check ในทุก ๆ service หรือทุก ๆ ระบบควรมี health check เสมอ ทั้ง readiness และ liveness
  • Timeout ขาดไม่ได้เลย สำหรับการเชื่อมต่อไปยังส่วนต่าง ๆ ซึ่งต้องสามารถ configuration ได้ง่าย ไม่ใช้ไปแก้ไข code ตรง ๆ นะ
  • Load balancing สิ่งที่ควรต้องมีในการเรียกใช้ service จาก client ปัจจุบัน Load balance มีอยู่ในฝั่ง client หรือผู้เรียกใช้งานกันแล้ว
  • Routing สิ่งที่เราเลือกใช้งานนั้น จำเป้นต้องมีการจัดการ routing ที่ง่ายและยืดหยุ่น ทั้งแบบ static และ dynamic
  • Application monitoring ของระบบงาน ในแต่ละ flow และ scenario ในมุมมองของผู้ใช้งานและการทำงานของระบบงาน ไม่ใช่ Server หรือ System monitoring นะ
คำถามที่น่าสนใจคือ service หรือระบบของเรามีสิ่งต่าง ๆ เหล่านี้หรือไม่ ? ไม่ว่าจะพัฒนาด้วยภาษา program และ framework อะไร สิ่งต่าง ๆ เหล่านี้จำเป็นต้องมีเสมอ

Viewing all articles
Browse latest Browse all 1997

Trending Articles