Mesin layanan mikro Node.js yang cepat untuk menjalankan fungsi cloud dengan latensi rendah. Dasbor Admin disertakan.
Jelajahi dokumen »
Laporkan Bug · Fitur Permintaan
Boltz Engine adalah mesin layanan mikro Node.js yang cepat dan berkerumun, memulai instance dari cold start dalam 100 md, dan interaksi selanjutnya dengan fungsi berada di bawah 10 md dalam kondisi normal. Instans VM V8 digunakan untuk memisahkan konteks dan memungkinkan Anda merancang kode Anda sebagai layanan mikro yang dihosting sendiri dan dapat dioperasikan dengan layanan berbasis cloud. Multithreading berarti instans Anda diskalakan di seluruh cluster pada semua inti CPU Anda. Api admin memungkinkan Anda mengelola Boltz dari antarmuka admin yang disertakan.
Unduh dari halaman rilis lalu jalankan file start.sh atau start.bat untuk menginstal dan menjalankan Boltz.
Atau tarik dari bsnk/boltz-engine
di Docker Hub dan atur langkah-langkah berikut:
Buat config.json dan secret.json -- Anda dapat mendownloadnya dari rilis di halaman rilis
Tempatkan mereka dalam folder, di sini adalah boltz-data
Jalankan gambar buruh pelabuhan dengan
$ 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
Anda dapat mengubah folder ini sesuai keinginan Anda dan menyesuaikan port yang digunakannya di config.json dan di perintah start. Anda mungkin juga harus menggunakan versi boltz seperti 1.1.0
daripada yang terbaru untuk memastikan bug tidak muncul dalam produksi. /boltz adalah tempat ia akan mencari file config.json di dalam container, dan sisanya dapat dikustomisasi sesuai dengan dokumentasi.
Boltz memungkinkan Anda membuat instance VM untuk menerima dan memproses permintaan web, dan volume untuk menyimpan kode, konfigurasi, dan memungkinkan Anda menyimpan data ke disk virtual untuk sementara. Semua perubahan akan dihapus ketika instance atau volume perlu dimuat ulang.
Paket dimuat dari package.json dan dipasang di folder sandbox pada sistem file host, paket tersebut dibagikan dengan instance mana pun menggunakan volume yang sama pada proses yang sama.
Penggunaan Boltz Engine yang direkomendasikan adalah untuk proyek layanan mikro sederhana yang nantinya dapat ditingkatkan skalanya dengan produk cloud yang tepat. Ini memiliki overhead dan kurva pembelajaran yang rendah, memungkinkan Anda untuk fokus pada fungsionalitas proyek Anda dan tidak menyiapkannya untuk berjalan di platform cloud ketika cukup ringan untuk ditangani secara lokal. Ini juga sangat cepat, memberikan hasil pada mesin lokal Anda dalam waktu kurang dari 10 md, dibandingkan ribuan milidetik pada fungsi cloud normal. Ditambah lagi mudah digunakan dengan antarmuka admin yang disertakan.
Mesin Boltz memiliki beberapa masalah, antara lain:
Ukuran pemasangan paket besar karena penerapan kotak pasir node_modules volume individual.
API admin menggunakan autentikasi dasar, yang berarti Anda harus me-restart server untuk mengubah kata sandi.
Menggunakan Instance Cloud Shell GCP, suatu fungsi ditugaskan untuk mengulangi parameter kueri name
dengan tanda seru, dan fungsinya sebagai berikut:
Menggunakan satu proses pekerja: 4500-5000
permintaan per detik dengan latensi 50ms
.
Menggunakan empat proses pekerja: 5500-6000
permintaan per detik dengan latensi 4-8ms
.
Menggunakan fungsi yang sama dengan 1 pekerja kita dapat mencapai 1000
koneksi simultan dengan melakukan 200,000
permintaan dengan latensi sekitar 100ms
dan 5600rps
.
Boltz menerima permintaan penarikan untuk meningkatkan mesin atau antarmuka web, yang terdapat di repo web di sini. Ini menggunakan skrip ketikan dengan aturan eslint Google, jadi cobalah untuk tetap konsisten, dan pertahankan performanya.
Ketika Anda siap untuk mendistribusikan perubahan Anda, Anda perlu memastikan bahwa file web berada di bawah direktori public
, jika tidak, jalankan saja antarmuka web dalam mode pengembangan bersama mesin.
Hak Cipta 2021 bsnk-dev
Izin dengan ini diberikan, secara gratis, kepada siapa pun yang memperoleh salinan perangkat lunak ini dan file dokumentasi terkait ("Perangkat Lunak"), untuk menggunakan Perangkat Lunak tanpa batasan, termasuk tanpa batasan hak untuk menggunakan, menyalin, memodifikasi, menggabungkan , mempublikasikan, mendistribusikan, mensublisensikan, dan/atau menjual salinan Perangkat Lunak, dan mengizinkan orang yang menerima Perangkat Lunak untuk melakukan hal tersebut, dengan tunduk pada ketentuan berikut:
Pemberitahuan hak cipta di atas dan pemberitahuan izin ini akan disertakan dalam semua salinan atau sebagian besar Perangkat Lunak.
PERANGKAT LUNAK INI DISEDIAKAN "APA ADANYA", TANPA JAMINAN APA PUN, TERSURAT MAUPUN TERSIRAT, TERMASUK NAMUN TIDAK TERBATAS PADA JAMINAN KELAYAKAN UNTUK DIPERDAGANGKAN, KESESUAIAN UNTUK TUJUAN TERTENTU, DAN TIDAK ADA PELANGGARAN. DALAM KEADAAN APA PUN PENULIS ATAU PEMEGANG HAK CIPTA TIDAK BERTANGGUNG JAWAB ATAS KLAIM, KERUSAKAN, ATAU TANGGUNG JAWAB LAINNYA, BAIK DALAM TINDAKAN KONTRAK, HUKUM ATAU LAINNYA, YANG TIMBUL DARI, ATAU SEHUBUNGAN DENGAN PERANGKAT LUNAK ATAU PENGGUNAAN ATAU HAL-HAL LAIN DALAM PERANGKAT LUNAK.