Tools
Questa pagina descrive i tool di sviluppo per creare ed eliminare microservizi in modo standardizzato.
Tool principale: creazione microservizio
Script: create-microservice-v2.js
Documentazione sorgente: trading-system/CREATE_MICROSERVICE_V2_README.md
Cosa fa
- genera un microservizio nuovo usando le librerie condivise (
BaseService,serverFactory); - crea struttura minima del servizio (
modules/main.js,server.js,Dockerfile,README, ecc.); - aggiorna file di sistema (
doc/ports.json,docker-compose*.yml, variabili in.env*, workflow deploy).
Shared Library coinvolte
Durante lo scaffolding e nella successiva implementazione, il microservizio creato usa queste librerie condivise:
- BaseService: classe base comune per lifecycle, status, channels e integrazioni standard.
- serverFactory: bootstrap server Express con route standard e wiring del servizio.
- statusRouterFactory: endpoint
/status/*uniformi (health, info, metrics, log level, channels). - logger: logging strutturato console/DB/Redis con livelli runtime.
- loadSettings: caricamento/reload dei settings centralizzati in cache runtime.
- redisBus: bus Redis per pub/sub, canali telemetry/metrics/data/logs/events.
- eventsManifestRegistry: registrazione del manifest eventi del microservizio.
Perche usarlo
- riduce boilerplate (approccio centralizzato su
shared/); - mantiene coerenza tra microservizi;
- velocizza onboarding e manutenzione.
Uso rapido
node create-microservice-v2.js MyService --port=3025
node create-microservice-v2.js OrderRouter \
--port=3020 \
--version=1.0.0 \
--description="Order routing microservice"
Tool principale: eliminazione microservizio
Script: delete-microservice.js
Documentazione sorgente: trading-system/DELETE_MICROSERVICE_README.md
Cosa fa
- rimuove il servizio dalle configurazioni (
docker-compose, env, deploy workflow); - pulisce il record su DB (
service_flags); - aggiorna gli agganci frontend dove presenti;
- non elimina definitivamente la cartella del servizio: la rinomina in
.DELETED_<service>_<timestamp>.
Sicurezza operativa
- richiede conferma esplicita
yes; - mantiene backup automatico via rename cartella;
- logga ogni step e prosegue in modo resiliente in caso di warning non bloccanti.
Uso rapido
node delete-microservice.js MyService
node delete-microservice.js liquidity-manager
Workflow consigliato
- Crea il nuovo servizio con
create-microservice-v2.js. - Implementa logica business in
modules/main.jse route custom inserver.js. - Verifica compose/env/porta assegnata.
- Se il servizio va dismesso, usa
delete-microservice.jsinvece di rimuovere file manualmente.
Riferimenti
trading-system/CREATE_MICROSERVICE_V2_README.mdtrading-system/DELETE_MICROSERVICE_README.mdtrading-system/shared/BaseService.README.mdtrading-system/shared/FACTORIES_README.md