Sakul Montha
Sep 8, 2018 · 1 min read

มันดีตรงที่ service เราเมื่อถูก request เข้ามา มันจะไม่ทำการ forward ไปยัง service ที่ fail อยู่ครับ

สมมติ ถ้าเราไม่มี circuit breaker ถึงเราจะทำการ handle error เอาไว้ก็ตาม แต่คือว่า มันยิงไป service ที่กำลังพังอยู่จริง ๆ ทุกครั้งที่มี request เข้ามาครับ ถ้าเรามี request กระหน่ำเข้ามาถี่ ๆ ก็แปลว่า มันจะถูกยิงอยู่อย่างนั้นซ้ำ ๆ แต่ถ้าเรามี circuit breaker เมื่อมัน open อยู่ มันก็จะไม่ทำการ forward ไปที่ service ที่กำลัง fail

ต่อมาเรื่อง ตรวจจับจากอะไร เท่าที่ผมดูมา มันก็ยิงไปที่ service ที่พังจริง ๆ นั่นแหละครับ เพียงแต่มันแอบทำ เป็น asynchronous เมื่อมัน open พอถึงช่วงเวลานึง มันจะเปลี่ยนเป็น half แล้วลองยิงให้ auto ถ้าพังก็กลับไปเป็น open ถ้าไม่พังแล้ว ก็เปลี่ยนเป็น close

ประมาณนี้ครับ

    Sakul Montha

    Written by

    Software Engineer Team Lead, a man who’s falling in love with the galaxy.