Lowkiq. ¿Por qué lo hicimos?

Lowkiq es el nuevo servidor para el procesamiento simplificado de tareas en segundo plano para ruby ​​y redis. Fue creado en BIA-Technologies, una empresa que desarrolla soluciones logísticas.



En este artículo hablaré sobre los problemas de procesamiento de trabajos en segundo plano que encontramos y cómo resolverlos.


ElasticSearch . 2 : A B. , , . , A . , , .


, . . ( ):


  • 1
  • 2
  • 2
  • 1

Sidekiq . redis
, , .


. redis, , . , , . , .


, "" . -. , , — .


Kafka. Kafka , .


. Lowkiq.


, A . . redis.


. , .


redis. :


  • score
  • perform_in

:


  • , score
  • perform_in
  • retry_count

score perform_in — unix timestamp.


, , .


, payloads . , .


, , , perform_in. perform_in, Lowkiq , - .


Lowkiq heredó los fragmentos del indexador, pero obtuvo un sistema más flexible para distribuir fragmentos entre hilos. Ahora cada hilo puede procesar varios fragmentos, lo que le permite agregar nuevas colas sin aumentar el número de hilos.


Lowkiq, como el indexador, asegura que ningún otro controlador pueda procesar una tarea con el mismo identificador en paralelo.


Varios de nuestros proyectos utilizan Lowkiq en producción durante todo el año. Sin embargo, todavía usamos Sidekiq y otros sistemas de colas en casos normales. Si tiene los mismos problemas que nosotros, pruebe Lowkiq .

Source: https://habr.com/ru/post/undefined/


All Articles