Lowkiq. Kenapa kita melakukannya?

Lowkiq adalah server baru untuk pemrosesan tugas latar belakang yang disederhanakan untuk ruby ​​dan redis. Itu dibuat di BIA-Technologies, sebuah perusahaan yang mengembangkan solusi logistik.



Pada artikel ini saya akan berbicara tentang masalah memproses pekerjaan latar belakang yang kami temui, dan bagaimana menyelesaikannya.


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 mewarisi sharding dari indexer, tetapi mendapat sistem yang lebih fleksibel untuk mendistribusikan pecahan antar thread. Sekarang setiap utas dapat memproses beberapa pecahan, yang memungkinkan Anda menambahkan antrian baru tanpa menambah jumlah utas.


Lowkiq, seperti pengindeks, memastikan bahwa tidak ada pawang lain yang dapat memproses tugas dengan pengidentifikasi yang sama secara paralel.


Beberapa proyek kami menggunakan Lowkiq dalam produksi sepanjang tahun. Namun, kami masih menggunakan Sidekiq dan sistem antrian lainnya dalam kasus normal. Jika Anda menghadapi masalah yang sama dengan kami, coba Lowkiq .

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


All Articles