Ho un compito che implica parlare con un'API basata su .NET (ovvero AutoCAD) per recuperare dati, inviare comandi e reagire agli eventi.
Voglio separare le operazioni API e la corretta logica del programma (in gran parte già implementata in Python) utilizzando strumenti naturali per entrambi: una DLL C # per la prima e un'app Python per quest'ultima.
Per connettere questi due pezzi, ho iniziato a scambiare JSON in messaggi ZeroMQ. Sono alle prime fasi di sviluppo, ma avendo scoperto di recente che ZeroMQ non garantisce la consegna / l'ordine dei messaggi, ho delle riserve sul fatto che sia una soluzione praticabile. In questo momento la mia app è una coppia REQ / REP molto semplice e ho intenzione di gestire la reazione agli eventi e l'esecuzione di diversi comandi aggiungendo una sorta di campo "funzione destinatario" al mio formato di messaggio.
Il motivo per cui voglio utilizzare ZMQ è che potrei essere in grado di ridimensionare il software in una soluzione distribuita più ampia, multi-utente.
Sono un programmatore laico, quindi vorrei chiedere un consiglio su questa architettura. Dovrei solo andare avanti con esso e pianificare di gestire l'affidabilità / l'ordine dei messaggi in caso di problemi? Dovrei considerare lo sviluppo di qualche tipo di wrapper REST attorno a ZMQ?