Lowkiq. Por que fazemos isso?

Lowkiq é o novo servidor para o processamento simplificado de tarefas em segundo plano para ruby ​​e redis. Foi criado na BIA-Technologies, uma empresa que desenvolve soluções logísticas.



Neste artigo, falarei sobre os problemas de processamento de trabalhos em segundo plano que encontramos e como resolvĂŞ-los.


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 , - .


O Lowkiq herdou o sharding do indexador, mas obteve um sistema mais flexível para distribuir shards entre threads. Agora, cada thread pode processar vários shards, o que permite adicionar novas filas sem aumentar o número de threads.


O Lowkiq, como o indexador, garante que nenhum outro manipulador possa processar uma tarefa com o mesmo identificador em paralelo.


Vários de nossos projetos usam Lowkiq em produção ao longo do ano. No entanto, ainda usamos o Sidekiq e outros sistemas de filas em casos normais. Se você estiver enfrentando os mesmos problemas que nós, tente o Lowkiq .

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


All Articles