ontadores seguros, secuenciales y escalables en Mnesia
Estoy escribiendo una aplicación en Erlang / OTP y quiero usar contadores secuenciales en un sistema de grabación de versiones.
Primero los implementé con
mnesia:dirty_update_counterpero la experiencia de usarlo eliminó estos requisitos difíciles:
Los contadores deben tener las siguientes propiedades:
se estrictamente secuencial: 1 seguido de 2 seguido de 3, etc., la secuencia se comparte en un conjunto distribuido de sistemas y si lo tengo abajo como '3' y entra en '5', necesito saber que tenemos perdió algunas comunicaciones y debería volver a sincronizar
safe con una base de datos distribuida
mnesia:dirty_update_counterno cumple ninguno de estos requisitos.
¿Cómo podría implementar un contador de base de datos secuencial?