
95
2
장
마이크로서비스 모델링 방법
공통 결합의 원인은 잠재적으로 리소스 경합의 원인도 될 수 있다. 여러 마이크로서비스가 동
일한 파일 시스템이나 데이터베이스를 사용할 경우 해당 공유 리소스에 과부하가 걸릴 수 있으
며, 공유 자원이 느려지거나 아예 사용할 수 없게 되면 잠재적으로 심각한 문제를 일으킬 수 있
다. 특히 공유 데이터베이스에는 이러한 문제가 쉽게 발생할 수 있는데, 여러 소비자가 공유 데
이터베이스에 임의의 쿼리를 실행할 수 있고 결국 매우 다양한 성능 특성이 발생할 수 있기 때
문이다. 고비용
SQL
쿼리로 인해 망가지는 데이터베이스를 지금껏 다수 경험했는데, 한두 번
은 필자가 ‘주범’일지도 모른다.
99
따라서 공통 결합은 가끔은 괜찮지만, 그렇지 않은 경우가 많다. 무해한 경우라도 공유 데이터
를 변경할 수 있는 범위가 제한돼 있지만, 코드의 응집력이 부족하다는 것을 의미하는 경우가
많다. 운영 중 경합 측면에서도 문제를 일으킬 수 있다. 이러한 이유로 공통 결합을 가장 바람
직하지 못한 결합 중 하나로 간주하지만, 상황은 더 나빠질 수 있다.
2.3.42.3.4
내용 결합 내용 결합
내용 결합내용 결합
content
coupling
은 상위 서비스가 하위 서비스의 내부까지 도달해 서비스의 내부 상태를
변경하는 상황을 설명한다. 이 상황을 가장 ...