Encapsulation et gestion d’états en Erlang avec ETS/DETS
La gestion d’états d’un système où de multiples sous-routines s’entrechoquent est complexe et particulièrement critique pour tous types d’applications. Les données les plus sensibles sont bien souvent déplacées sur une base de données relationnelle pour les rendre persistantes, mais il est parfois nécessaire d’avoir besoin de plus de flexibilité. Que ce soit pour une problématique de volume, d’économie de ressources ou tout simplement pour gagner en performance, certains outils peuvent être plus adaptés. Redis ou Memcached, deux environnements largement utilisés et bien connus des développeurs, sont généralement sélectionnés pour effectuer ce genre de tâches. Il s’avère que ce modèle d’architecture est relativement rare au sein de l’écosystème Erlang/OTP. Une des raisons à cela est peut-être due à la présence de deux modules livrés nativement : ETS et DETS…