CAP와 PACELC - Partition

HJ seo·2022년 11월 10일
0

잡담.

디스코드봇의 서버에 대해 무엇을 쓰면 좋을지에 대해 알아보기 위해 머릿속에 박아놨던 CAP에 대해 공부하다가 이것이 현대의 시스탬이 분산시스탬을 사용하기 때문에 불완전한 이론이라는 결론으로 이해하고, 다시 PACELC이론에 대해 공부하다가, 블로그에 너무 글을 쓴지 오래되었다는 것을 떠올리고 우선적으로 그 베이스가 된다고 생각하는 network partition에 대해서 먼저 정리해보려고 한다.

network partiton.

네크워크 파티션은 컴퓨터 네트워크를 독립적인 서브 네크워크로 나누는 것을 말한다. 그리고 그 이유는 네트워크 장치의 오류를 방지하거나, 케이스에 따라 개별적인 최적화가 이루어질 필요가 있기 때문이다.

  • 이유에 대한 예시를 어떻게 들어야 할지는 잘 모르겠다.(필연적인 경험의 부족..) 다만, 메인 네트워크 하나만을 운영했을 때 위의 오류사항을 고려해보면,
    • 첫 번째는 간단히 카카오사태를 간접적인 예시라고 말할 수 있을 것이다.(문제가 생긴 곳에 대해서는-추측이지만- WAS의 일부일 것 같다.)
    • 두 번째의 경우는 조금 더 자료를 찾아본 후 업데이트 해야겠다.(짐작이 가는 것은 많지만, 이게 맞을지는 모르겠다. 예를 들어 어떤 서비스가 존재해서, 사용자의 등급 혹은 구독 등으로 서비스의 제공 퀄리티가 달라져야 할 필요성이 있을 때 이를 이용할까?)

또한 여기에는 한가지 지켜져야 할 규칙이 있는데, 각각의 서브 네트워크상에서 서비스가 제공되고 있다는 가정하에 각각의 서비스를 이루는 노드, 즉 서비스의 기본 단위(통신 함수등)은 독립적으로 잘 작동해야 한다는 것이다.

  • 이를 파티션 허용(partition-tolerant)이라 한다.

reference

fromurl
Wikipidiahttps://en.wikipedia.org/wiki/Network_partition
theastrologypagehttps://ko.theastrologypage.com/distributed-network
호이어리의 블로그http://hoirrej.blogspot.com/2018/12/mq-2.html
준호씨의 블로그http://junho85.tistory.com/842

글을 쓰는 기간이 너무 길게 끌어지는 것 같아 마무리.. 기본적인 내용은 써두었으나 뭔가 더 쓰기 위해서는 실제 사례, 혹은 논문 베이스로 들어가야 할 것 같다는 생각이 든다.

  • 해당 글을 쓰게 된 동기인 프로젝트를 마무리할 예정이고, 이때 추가로 더 정리를 해볼 예정이다.
profile
다양한 분야에 관심이 많은 초보 개발자 입니다.

0개의 댓글