Microservice와 Single Point of Failure (SPOF)

troubleshoot
microservice
monolith
single point of failure
netflix
chaos monkey
Author

Yunho Kee

Published

April 14, 2024

Modified

May 6, 2024

Web developer Rusendić (2022) 에 따르면, Program 하나를 개발하면 Monolith(Monolithic Architecture), 여러 Program으로 구현하면 MSA(Microservice Architecture)이다.

Monolith Program을 구성하는 것은 Class와 Method, 또는 Module과 Function이다 (Rusendić 2022). Class와 Method를 Microservice Program으로 구현하면 Service와 API이다 (Rusendić 2022). Netflix가 Microservice로 유명하며, Chaos Monkey라는 Test 도구도 개발했다 (Rusendić 2022).

그러나 서비스의 정상 가동률이 Monolith로 구현하면 50%, Microservice는 25%라는 주장은 이상하다. 오히려 앞서 언급한 전제에 따르면 두 확률은 같아야 한다. 게다가 개별 Service가 정상 동작할 확률은 오히려 장애를 공유하는 Monolith가 더 낮을 것이다. 그래서 Single Point of Failure (SPOF)라는 말이 있는데 원문은 이에 대한 반박을 시도했으므로 정말 그렇게 생각하는지 저자에게 질문할 예정이다.

좋은 이론이 떠올라 곧 보완할 예정이다. 저자의 처음 50% 설명은 맞았다. 다만 틀린 것은 Scale-out Animation에서 가능한 16가지 경우 중 2개가 누락되고 14개만 남았다는 점이다.

Back to top

References

Rusendić, Stanko Krtalić. 2022. “Having a Monolith Is a Single Point of Failure.” September 30, 2022. https://stanko.io/having-a-monolith-is-a-single-point-of-failure-3cYdY3KZ7qHW.

Citation

BibTeX citation:
@online{kee2024,
  author = {Kee, Yunho},
  title = {Microservice와 Single Point of Failure (SPOF)},
  date = {2024-04-14},
  url = {https://yhkee0404.github.io/posts/web/microservice-spof},
  langid = {ko}
}
For attribution, please cite this work as:
Kee, Yunho. 2024. “Microservice와 Single Point of Failure (SPOF).” April 14, 2024. https://yhkee0404.github.io/posts/web/microservice-spof.