
MongoDBDriverTopologyDescription::hasReadableServer는 TopologyDescription의 readPreference와 readConcern를 조합하여 읽기 가능한 서버가 있는지 여부를 결정하는 메서드입니다.
readPreference는 읽기 작업을 수행할 서버를 결정하는 옵션입니다. 예를 들어, nearest, primary, secondary, or tags와 같은 옵션을 지정할 수 있습니다.
readConcern는 읽기 작업의 일관성을 결정하는 옵션입니다. 예를 들어, local, majority, or linearizable와 같은 옵션을 지정할 수 있습니다.
hasReadableServer는 readPreference와 readConcern를 조합하여 읽기 가능한 서버가 있는지 여부를 결정합니다. 다음은 몇 가지 예시입니다.
- readPreference가 primary이고 readConcern가 majority일 경우, hasReadableServer는 true입니다. (primary 서버가 존재할 때)
- readPreference가 secondary이고 readConcern가 local일 경우, hasReadableServer는 true입니다. (secondary 서버가 존재할 때)
- readPreference가 tags이고 readConcern가 linearizable일 경우, hasReadableServer는 false입니다. (tags에 해당하는 서버가 존재하지 않을 때)
hasReadableServer가 false인 경우, MongoDB 드라이버는 읽기 작업을 수행할 서버를 찾을 수 없습니다. 이 경우, 드라이버는 읽기 작업을 수행할 수 없으며, 에러를 발생시킵니다.
2025-07-23 07:55