짧은 대기 시간으로 클라우드 기능을 실행하기 위한 빠른 Node.js 마이크로서비스 엔진입니다. 관리 대시보드가 포함되어 있습니다.
문서 살펴보기 »
버그 신고 · 기능 요청
Boltz 엔진은 빠르고 클러스터된 Node.js 마이크로서비스 엔진으로, 100ms 만에 콜드 스타트에서 인스턴스를 시작하고 정상적인 조건에서 기능과의 후속 상호 작용이 10ms 미만입니다. V8 VM 인스턴스는 컨텍스트를 분리하는 데 사용되며, 이를 통해 코드를 클라우드 기반 서비스와 상호 운용 가능한 자체 호스팅 마이크로서비스로 설계할 수 있습니다. 멀티스레딩은 인스턴스가 모든 CPU 코어에 걸쳐 전체 클러스터에 걸쳐 확장된다는 것을 의미합니다. 관리 API를 사용하면 포함된 관리 인터페이스에서 Boltz를 관리할 수 있습니다.
릴리스 페이지에서 다운로드한 후 start.sh 또는 start.bat 파일을 실행하여 Boltz를 설치하고 실행하세요.
또는 Docker Hub의 bsnk/boltz-engine
에서 가져와 다음 단계를 설정하세요.
config.json 및 secrets.json을 만듭니다. 릴리스 페이지의 릴리스에서 다운로드할 수 있습니다.
폴더에 넣으세요. 여기에 boltz-data
있을 것입니다.
다음을 사용하여 도커 이미지를 실행합니다.
$ docker run --publish 5000:5000 --publish 8000:8000 -v /boltz-data:/boltz -v /boltz-data:/secrets/ -v /boltz-data:/database -v /boltz-data/sandbox:/sandbox/ bsnk/boltz-engine:latest
이러한 폴더를 원하는 대로 변경하고 config.json 및 start 명령에서 사용하는 포트를 사용자 정의할 수 있습니다. 버그가 프로덕션에 나타나지 않도록 하려면 최신 버전 대신 1.1.0
과 같은 boltz 버전을 사용해야 할 수도 있습니다. /boltz는 컨테이너 내부에서 config.json 파일을 찾는 곳이며 나머지는 설명서에 따라 사용자 정의할 수 있습니다.
Boltz를 사용하면 웹 요청을 수신 및 처리하는 VM 인스턴스와 코드, 구성을 저장하는 볼륨을 생성하고 가상 디스크에 임시로 데이터를 저장할 수 있습니다. 인스턴스 또는 볼륨을 다시 로드해야 하면 모든 변경 사항이 지워집니다.
패키지는 package.json에서 로드되고 호스트 파일 시스템의 샌드박스 폴더에 설치되며 동일한 프로세스에서 동일한 볼륨을 사용하는 모든 인스턴스와 공유됩니다.
Boltz 엔진의 권장 사용은 나중에 적절한 클라우드 제품으로 확장할 수 있는 간단한 마이크로서비스 프로젝트입니다. 오버헤드와 학습 곡선이 낮기 때문에 프로젝트의 기능에 집중할 수 있으며 로컬에서 처리할 수 있을 만큼 가벼우면 클라우드 플랫폼에서 실행되도록 설정하지 않아도 됩니다. 또한 일반 클라우드 기능에서 수천 밀리초가 걸리는 대신 10ms 이내에 로컬 시스템에서 결과를 제공하는 매우 빠른 속도를 자랑합니다. 게다가 포함된 관리 인터페이스로 사용하기도 쉽습니다.
Boltz 엔진에는 다음과 같은 몇 가지 문제가 있습니다.
개별 볼륨 node_modules 샌드박스 구현으로 인해 패키지 설치 크기가 큽니다.
admin API는 기본 인증을 사용합니다. 즉, 비밀번호를 변경하려면 서버를 다시 시작해야 합니다.
GCP Cloud Shell 인스턴스를 사용하여 함수에 느낌표가 포함된 name
쿼리 매개변수를 반복하는 작업이 지정되었으며 다음과 같이 수행되었습니다.
단일 작업자 프로세스 사용: 50ms
의 대기 시간에 초당 4500-5000
요청.
4개의 작업자 프로세스 사용: 4-8ms
의 대기 시간에 초당 5500-6000
요청.
1명의 작업자와 동일한 기능을 사용하면 약 100ms
및 5600rps
의 대기 시간으로 200,000
요청을 수행하는 1000
동시 연결을 달성할 수 있습니다.
Boltz는 여기 웹 저장소에 있는 엔진 또는 웹 인터페이스를 개선하기 위한 풀 요청을 수락하고 있습니다. Google eslint 규칙 세트와 함께 TypeScript를 사용하므로 일관성을 유지하고 성능을 유지하도록 노력하세요.
변경 사항을 배포할 준비가 되면 웹 파일이 public
디렉터리에 있는지 확인해야 합니다. 그렇지 않으면 엔진과 함께 개발 모드에서 웹 인터페이스를 실행하면 됩니다.
저작권 2021 bsnk-dev
본 소프트웨어 및 관련 문서 파일("소프트웨어")의 사본을 취득한 모든 사람에게 사용, 복사, 수정, 병합에 대한 권리를 포함하되 이에 국한되지 않고 제한 없이 소프트웨어를 취급할 수 있는 권한이 무료로 부여됩니다. , 소프트웨어 사본을 게시, 배포, 재라이센스 부여 및/또는 판매하고, 소프트웨어를 제공받은 사람에게 다음 조건에 따라 그렇게 하도록 허용합니다.
위의 저작권 고지와 본 허가 고지는 소프트웨어의 모든 사본 또는 상당 부분에 포함됩니다.
소프트웨어는 상품성, 특정 목적에의 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않고 명시적이든 묵시적이든 어떠한 종류의 보증 없이 "있는 그대로" 제공됩니다. 어떠한 경우에도 작성자나 저작권 보유자는 계약, 불법 행위 또는 기타 행위로 인해 소프트웨어나 사용 또는 기타 거래와 관련하여 발생하는 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다. 소프트웨어.