전체 글415 Next.js 환경별 빌드 dotenv Next.js 혹은 Node.js 에서 환경별로 빌드하는 방법은 두가지가 존재한다.Node 에서 build 시에 env 값의 우선순위는 env.production > env.development > env.local 형태로 바라보기 때문에 다음과 같이 build 시 해당 파일을 .env.local 로 변경하여 npm start 로 실행시 development, production 에 속한 ENV 값을 local로 하여 해당 파일을 읽어 실행 하도록 한다. "scripts": { "start": "react-scripts start", "build": "react-scripts build", "build:dev": "cp .env.development .env.local && react-.. 2025. 1. 22. Multi datasource, router datasource 멀티-테넌시란?멀티-테넌시는 소프트웨어 어플리케이션의 단일 이느턴스가 여러 고객에게 서비스를 제공하는 아키텍처 이다.아래 그림에서 보듯이 싱클 테넌시와 멀티테넌시는 확실하게 구분된다. 싱글테넌시의 경우 사용자 별로 어플리케이션과 Database 가 존재한다.멀티테넌시의 경우엔 하나의 어플리케이션에서 여러 테넌트(tenant,사용자)가 사용할 수 있도록 해준다.멀티테넌시를 구축하는 이유는 고객마다 새로운 시스템을 만들 필요가 없기 때문에 소프으웨어 개발과 유지보수 비용을 절약 할 수 있기때문에 경제 적이다.멀티테넌시를 구축하는 방법은 여러 방법이 있다. 인프라 적인 부분, 소스코드에서 분기 혹은 database 에서 분리등 여러 방법을 이용하여 테넌트 분리가 가능 하며 대표적으로 다음과 같이 구분 해볼 수.. 2025. 1. 9. tenant id 에 따른 datasource 분리 , 인터셉터 Client 에서 Header 값을 통해 Datasource 를 선택하기 위함. Flow (흐름도)Headertanent-id : poc----Headertanent-id : kakao-games Client 에서 정의된 Header 정보를 담아 보낸다.Interceptor 에서 정의된 ID 값 을 기준으로 Router 를 선택한다.LocalThread에 저장된 정보를 읽어와 DB 정보를 FIX 한다.Controller, Service, 를거쳐 Repository 에 도달 했을때 앞서 선택된 router 정보에 의해 datasource를 결정하고 사용한다. 2025. 1. 9. Springboot Prometheus , micrometer architecture micrometherjava 애플리리케이션에서 메트릭을 수집하는 라이브러리micromether core핵심라이브러리로 메트릭 수집하고 관리함사용자 정의 MeterBinder 및 Exporter 개발 기능 지원micromether prometheus exportermicromether 의 확장 기능 이다.micromether core 가 수집한 메트릭 데이터를 Prometheus 포멧으로 변환한다.prometheus 엔드포엔트를 자동으로 생성prometheus 스크랩을 자동으로 생성**설명** Springboot 에서 prometheus를 사용할때, Actuator 와 micromether 를 함께 사용한다. 위에 나열 했듯이 micromether 는 jvm 의 데이터를 수집하여 prometheus .. 2024. 5. 26. 이전 1 2 3 4 ··· 104 다음 728x90