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

สรุปเรื่อง Distributed system เพื่อให้มีความน่าเชื่อถือ

$
0
0

  • ลดการติดต่อสื่อสารภายใน หรือลด hop ของการทำงานให้เหลือเท่าที่จำเป็น
  • ลด data ที่ซ้ำซ้อนลง เพราะว่า ยิ่งมี data ที่ซ้ำซ้อนให้ลงมากเท่าไร การแก้ไขหรือ overhead ในการจัดการก็น้อยลง
  • ก่อนที่จะแยก service ออกจากกัน ลองดูก่อนว่า สามารถทำเป็น library ได้ไหม ดังนั้นแทนที่จะทำงานแบบ remote ให้เป็น local ก่อนดีกว่าไหม ตรงนี้น่าคิด
  • เรื่องของปัญหา นั่นคือถ้าบาง service มีปัญหา แล้วส่งผลต่อระบบอื่น ๆ มีปัญหาไปด้วย เราเรียกว่า cascade failure ดังนั้นเราต้องจัดการเรื่องนี้ด้วย หรือเรียกว่า isolate failure/error ให้ได้ ยกตัวอย่าง pattern ในการแก้ไขเช่น circuit breaker, bulkhead, timeout และ retry เป็นต้น
  • บาง service ถูกใช้งานเยอะ ๆ ก็ทำให้เกิดปัญหาด้วยเช่นกัน ดังนั้นต้องป้องกันอีก ไม่ว่าจะเป็นเรื่องของ backpressure, shard loading ไปจนถึงเรื่องการทำ caching รวมถึงการติดต่อสื่อสารจาก sync มาเป็น async อีก แล้วจะทำการการ scale มันยืดหยุ่นมากยิ่งขึ้น

ดังนั้นในการ design, develop และ deploy
จึงต้องให้ความสำคัญกับเรื่องเหล่านี้เป็นอย่างมาก


Viewing all articles
Browse latest Browse all 1997

Trending Articles