apache-passenger 서버 클러스터에서 실행되는 약 130 개의 sinatra 웹 응용 프로그램이 있습니다. 이러한 모든 앱은 일반 코드베이스에서 복제 된 다음 자체 인증 키를 갖도록 수정되었습니다. 대부분의 앱은 인증 키와 별도로 수정하지 않습니다. 개별 앱의 장점은 다른 앱의 다운 타임 위험없이 특정 앱을 매우 빠르게 변경할 수 있다는 것입니다.많은 유사한 sinatra 응용 프로그램에 대한 구성을 저장하는 위치
그러나 이러한 인증 키는 기본적으로 구성되어 있습니다. 코드베이스에 설정을 저장하는 것은 불편하고 직관적으로 잘못되었습니다. 필자가 조사한 다른 대안으로는 데이터베이스에 구성을 저장하고 메모리, 애플리케이션 별 Apache 환경 변수 및 공유 json 파일에 캐싱하는 방법이 있습니다.
더 좋은 옵션이 있습니까? 내가 놓친 잡기가 있니?
데이터베이스에 구성을 저장하는 것이 과도하다고 생각하지만 장점은 응용 프로그램을 다시 시작하지 않고 구성을 변경할 수 있다는 것입니다. – Erik
좋은 지적이지만 구성 파일을 사용할 때도 마찬가지입니다. OP 클러스터의 sinatra 앱이 모두 데이터베이스를 공유하고 있다면 파일 대 데이터베이스와 비교했을 때 데이터베이스의 값을 편집 할 때 파일을 편집하는 것보다 더 많은 작업이 필요하다는 점을 제외하면 파일 대 데이터베이스가 비슷한 장점과 단점이 있습니다. –
오른쪽은 아파치 설정에 키를 저장하는 것을 의미하며, 아파치/패서 런트에서 실행되는 sinatra 앱을위한 환경 변수를 설정합니다. –