Tengo una aplicación de servidor que ofrece datos a varios clientes a través de la red. Puede imaginar los datos como una enorme lista de cadenas. Los datos en el servidor pueden cambiar y deben sincronizarse en todos los clientes.¿Hay un patrón para sincronizar las listas de datos en la red?
Actualmente estoy usando este enfoque: en la conexión inicial, una aplicación cliente solicita todos los datos actuales (que pueden ser muchos bytes). Luego, se suscribe a actualizaciones (adiciones, cambios y eliminaciones) de cualquier información.
Esto funciona bien a menos que se cambien los datos en el servidor entre el envío de la lista de datos inicial y la aplicación que se suscribe a cambios; en ese caso, el cliente pierde algunas actualizaciones y funciona sin saberlo.
Creo que este es un escenario muy común, por lo que debe haber un patrón que resuelva el problema. Estoy usando C# 4 y WCF, pero el patrón debería ser independiente del idioma, creo.