
66
1
부
기초
수 있다.
1.5.21.5.2
견고성견고성
애플리케이션의 견고성을 향상시키는 핵심 개념은
벌크헤드벌크헤드
bulkhead
1010
다. 시스템의 구성 요소 중
하나가 고장 날 수 있지만, 그 고장이 연속적으로 발생하지 않는 한 문제를 격리하고 나머지 시
스템은 계속 작동할 수 있다. 서비스 경계는 명백한 벌크헤드 (격벽 )가 된다. 모놀리식 서비스
에서는 서비스가 실패하면 모든 것이 작동을 멈춘다. 모놀리식 시스템의 경우 여러 머신에서
실행시켜 고장 가능성을 줄일 수 있지만, 마이크로서비스를 사용하면 일부 구성 서비스의 전체
장애를 처리하고, 그에 따라 기능을 저하시키는 시스템을 구축할 수 있다.
반드시 주의해야 한다. 마이크로서비스 시스템이 향상된 견고함을 수용할 수 있도록 하려면 분
산 시스템이 처리해야 할 새로운 고장 원인을 이해해야 한다. 네트워크는 기계와 마찬가지로
고장 날 수 있고 결국은 고장 날 것이다. 따라서 그러한 고장을 처리하는 방법과 그러한 실패가
소프트웨어의 최종 사용자에게 미칠 영향 (있다면 )을 알아야 한다. 필자는 마이크로서비스로
이전 (마이그레이션
migration
)한 후에 이러한 문제를 심각하게 받아들이지 않아 결국 그다지 견고
하지 못한 시스템을 만든 팀과 함께 일해본 경험이 있다.
1.5.31.5.3
확장성확장성