Eu estou contemplando dois métodos diferentes de introduzir a simultaneidade para um programa Ruby. Eu estou atualmente bifurcando o processo e tendo os garfos se comunicando via banco de dados.
Eu descobri recentemente sobre Revactor, quelida com a simultaneidade via Fibers. Eu usei fibras no passado e tenho certeza de que elas não poderiam rodar em paralelo, mas elas afirmam que a biblioteca permite isso.
R: O Revactor é verdadeiramente concorrente?
B: Em caso afirmativo, alguém tem quaisquer números ou opiniões sobre as implicações de velocidade de mudar para Revactor de um Process.fork
abordagem?
Respostas:
0 para resposta № 1Revactor é "single threaded com fibras" (assimapenas uma fibra de cada vez). Isso é teoricamente melhor do que "multi threaded", já que fornece simultaneidade, mas requer apenas um thread, de modo que pode escalar para lotes de "threads" (fibras).