Skip to content
isdnetworks
Go back

설정 옆에 근거를 적는다

작은 보드에 캐시 서버를 올렸는데 컨테이너 여럿이 같이 도는 환경이었다. 기본 설정에서 열 개쯤을 바꿨고 나중에 왜 이렇게 했는지가 나올 것이 뻔했다.

Table of contents

Open Table of contents

값과 근거를 함께

바꾼 것들을 값과 근거를 나란히 둔 표로 정리했다. 접근 범위와 보호 모드와 영속화와 메모리 상한과 축출 정책과 지연 해제와 스레드 수와 경고 억제가 들어갔다.

값만 있으면 나중에 알아볼 수 없고 근거가 있어야 그것을 바꿀지 말지 판단할 수 있다. 표를 만드는 과정에서 근거가 애매한 항목이 어느 것인지도 함께 드러났다.

이유가 둘인 설정

영속화를 끈 것이 특히 설명이 필요했다. 일반적으로는 켜는 것인데 두 가지 이유로 껐다.

용도가 캐시와 세션이라 날아가도 다시 만들면 된다는 것이 하나이고 영속화가 프로세스를 복제해 스냅숏을 뜨므로 메모리가 적은 환경에서 부담이 된다는 것이 다른 하나다. 용도만 적으면 반쪽이고 성능 쪽 이유도 함께 적어야 한다.

공존에서 나온 제한

메모리 상한과 스레드 수는 이 서비스가 혼자 쓰는 것이 아니라서 정한 값이다. 보드 전체 메모리와 코어 중 일부만 할당한 것이다.

이 값이 최적이라서가 아니라 여럿이 나눠 쓰니 이만큼이라는 뜻이다. 그것을 안 적으면 나중에 왜 이렇게 작게 잡았는지 의아해하며 올리게 되고 그러면 다른 것이 죽는다.

용도별 최소 권한

인증을 쓰면서 권한을 둘로 나눴는데 앱 연결용은 전체 권한이고 헬스체크용은 하나만 허용했다. 헬스체크는 살았는지만 확인하면 되므로 데이터를 읽을 필요가 없다.

전부 막고 확인용 명령 하나만 여는 형태라 그 계정이 유출돼도 아무것도 못 한다. 용도별로 권한을 최소화한 것이다.

태그와 환경 정보

기본 설정 파일이 수백 줄이라 어느 것이 바꾼 항목인지 구분이 안 됐다. 그래서 저장소에 있는 예제 파일에 태그를 달아 검색하면 커스텀 항목만 나오게 했다.

실제 파일이 아니라 예제에 단 것은 실제 파일이 배포마다 생성될 수 있고 예제는 이력이 남으며 다음 사람이 예제를 보고 만들기 때문이다. 마지막으로 보드 사양과 공존 상황과 아키텍처와 버전을 함께 적었는데 같은 값이 다른 환경에서는 틀릴 수 있으므로 옮길 때 다시 정해야 한다는 것을 알리기 위해서였다.

정리


Share this post on:

Previous Post
강제한 인덱스가 만든 지연
Next Post
같은 성공 경로의 다른 응답