Перейти до основного вмісту

Ядро обчислень

інформація

Ядро обчислень - це фреймворк для побудови веб-серверів, яке обробляє запити та події, включаючи ті, що надходять від брокерів повідомлень. Воно завантажує бізнес-схему, яка може бути як одним сервісом, так і групою сервісів. Кожен сервіс представляє собою прикладну область і може включати в себе перелік документів, які описують його функціональність. Ядро обчислень використовує цю схему для ефективної обробки запитів та подій у межах кожного сервісу або групи сервісів.

примітка

Опис бізнес-схеми дивись Бізнес-схема

Для створення веб-сервера необхідно створити новий проект, встановити ядро обчислень як залежність NPM та зареєструвати перший сервіс:

  1. Встановлення пакету ядра через NPM:
npm i @x-fiber/calculator
  1. Створити файлову структуру:
├── src
│ ├── server
│ │ ├── services
│ │ │ ├── {service-name-1}
│ │ │ ├── {service-name-2}
│ │ │ ├── {...}
│ ├── server.ts

де:

  • src - вміст кодової бази.
  • server - реалізація веб-сервера.
  • services - сервіси опису бізнес-логіки.
  • server.ts - точка запуску веб-сервера.
  1. Створити опис точки запуску веб-сервера server.ts:
import {initiator, setServices} from "@x-fiber/calculator";
import {ExampleService} from "./server";

const start = async () => {
setServices([ExampleService]);
await initiator.start();
};

const stop = async () => {
await initiator.stop();
process.removeAllListeners();
process.exit(0);
};

process.on("SIGTERM", stop);
process.on("uncaughtException", (e) => {
console.error(e);
initiator.stop().then(() => {
process.exit(1);
});
});

// .. other process signal handlers

start().catch((e) => {
console.log("Server end with error: ", e);
});

де:

  • initiator - керує процесами запуску та зупинки ядра обчислень.
  • setServices - записує сервіси в бізнес-схему перед запуском ядра обчислень.
  • start() - запускає ядро обчислень та відкриває зʼєднання http та ws.
  • stop() - зупиняє ядро обчислень та закриває зʼєднання http та ws.
  • process.on("SIGTERM", stop) - слухає події, що вказують на потребу зупинки сервера.
  1. Описати бізнес-схему

Почніть створювати та реєструвати сервіси, описувати прикладні області, реалізовувати кінцеву бізнес-логіку конкретної доменої області. Деталі реалізації бізнес-логіки дивіться в розділі Бізнес-схема