para herramienta eliminar elimina como cache borrar java caching dht trading

herramienta - elimina java



caché java distribuida para baja latencia, alta disponibilidad (7)

Nunca he usado cachés distribuidos / DHT como memcached, jboss cache, ehcache, etc. Me pregunto cuál, si es que hay alguno, es apropiado para mi uso.

Primero, no estoy haciendo aplicaciones web (ya que la mayoría de estos proyectos parecen estar orientados a aplicaciones web). Escribo servidores (en realidad, sistemas de gestión de pedidos) para empresas de comercio financiero. Los servidores en sí no son demasiado complicados. Necesitan recibir información (datos de mercado, pedidos, ejecuciones, etc.) para llevarlos a su destino mientras posiblemente transforman algunos de estos mensajes.

Estoy mirando estos productos para resolver los siguientes problemas:

  • Repositorio seguro del estado del servidor. Prefiero construir la lógica de mi aplicación como un grupo de transformadores (similar a Apache Camel) y almacenar el estado en un lugar "seguro"

  • Este repositorio debe ser distribuido: en caso de que uno de estos almacenes de datos falle, uno o dos más deberían estar arriba y debería ser capaz de cambiarlos sin problemas

  • Este repositorio debe ser rápido . Los milisegundos de un solo dígito cuentan aquí, en otras palabras, los sistemas que consumen / procesan estos datos son sistemas automatizados, no humanos haciendo clic en los enlaces. Este sistema necesita tener alto rendimiento y baja latencia. Al enviar mis datos fuera del proceso, estoy necesariamente ralentizando el rendimiento, pero estoy tratando de equilibrar la velocidad bruta absoluta y la protección absoluta de los datos.

  • Este repositorio debe ser seguro. Similar al punto acerca de varias copias de seguridad en línea, este sistema necesita escribir datos en el disco (potencialmente más de un disco).

Realmente me gustaría dejar de escribir mis propios ''servidores de transacciones''. ¿Estoy en lo correcto al buscar proyectos como caché jboss, ehcache, etc.?

Gracias


Creo que JBoss Cache es lo suficientemente bueno para tus propósitos:

  • rápido
  • repartido
  • transaccional con implementación de MVCC (sin bloqueo de lectura)
  • apoya JTA
  • admite el modo asincrónico
  • datos de desalojo para el almacenamiento persistente (jdbc, bdb, etc.)

Eche un vistazo a Cacheonix Distributed Cache and Data Grid . Satisface sus requisitos de baja latencia y confiabilidad al proporcionar un caché local coherente y al distribuir los datos en caché a varios servidores y al replicar los datos en caché. Divulgación completa: trabajo para Cacheonix.


Mira Gemfire es de alto rendimiento en la cuadrícula de datos de memoria. Proporciona caché distribuida, querieng de objetos y notificaciones de eventos.


Muchas instituciones financieras están utilizando Oracle Coherence para esto.

Sin embargo, no coincidirá con todos los puntos en su lista.


Tienes algunas buenas soluciones gratuitas aquí. Sin embargo, si necesita una solución más rápida, puede probar 29 West o Solace que tienen soluciones de mensajería confiables / garantizadas de latencia inferior a 100 microsegundos.


NCache por las siguientes razones,

  • Soporte .NET y java
  • Amplia gama de topologías
  • No se requiere cambio de código
  • Altamente distribuido y escalable
  • Absolutamente gratis (NCache Express)

Hazelcast es una solución de caché distribuida, transaccional y de código abierto para Java. Adecuado para aplicaciones financieras. Se lanza bajo la licencia de Apache.

Hazelcast es en realidad un poco más que un caché distribuido; se distribuye la implementación de cola, tema, mapa, multimapa, bloqueo, servicio de ejecutor para Java.