Canigó. Introducció programació reactiva
29-07-2019
La programació reactiva és un paradigma de programació enfocat a treballar amb fluxos de dades asíncrones. La seva concepció i evolució ha estat lligada a la publicació del Reactive Manifesto, que estableix les bases dels sistemes reactius, que han de ser:
La programació reactiva segueix el patró de disseny Observer: quan hi ha un canvi a l’estat d’un objecte, els altres objectes són notificats i actualitzats segons el canvi. Per tant, enlloc de sondejar events pels canvis, els events es realitzen de forma asíncrona per a que els observadors puguin processar-los.
La motivació darrera d’aquest nou paradigma procedeix de la necessitat de respondre a les limitacions d’escalat presents en els models de desenvolupaments actuals, que es caracteritzen pel seu desaprofitament de l’ús de la CPU degut al I/O, la sobreutilització de memòria i la ineficàcia de les interaccions bloquejants.
Un exemple dels beneficis d’una programació reactiva rau en l’ús eficient de recursos. Així per exemple, en els sistemes I/O sense programació reactiva inutilitzaríem recursos ja que els elements receptors han d’estar preguntant contínuament si hi ha hagut un canvi, per exemple, per saber si s’ha connectat algun component als nostres ports.
En un sistema amb programació reactiva, si s’ha connectat algun component als nostres ports serà notificat als elements receptors en el moment de la connexió, podent utilitzar, mentre no hi ha l’event, els nostres recursos en altres accions.
Canigó amb la publicació de Canigó 3.4 proporciona les funcionalitats de programació reactiva.
Per a conèixer l’aplicació de programació reactiva a Canigó podeu consultar Mongodb reactiu.