Sobre o serviço
TraduzidoEu desenvolvo sistemas concorrentes e distribuídos no Akka, em Scala ou Java, e há vários anos transformo o modelo de ator em código que lida calmamente com a carga. Quando um serviço precisa processar dezenas de milhares de solicitações simultâneas, armazenar estado por usuário na memória e não perder mensagens ao mesmo tempo, eu projeto uma hierarquia de atores, uma estratégia de supervisão e back-pressure para que uma falha permaneça um evento local, e não uma falha em todo o sistema.
Eu trabalho com o conjunto completo de ferramentas do Akka: clustering e sharding de cluster para distribuir entidades entre nós, Akka Streams para pipelines limitados com back-pressure, persistência e sourcing de eventos com CQRS para que modelos de escrita e leitura evoluam independentemente, e resolução de split-brain para que partições de rede não corrompam dados. Eu também me preocupo com o que você só lembra em batalha: passivação de atores inativos, atualizações sem tempo de inatividade, entrega ao menos uma vez com manipuladores idempotentes.
Entre em contato comigo se você quiser um sistema que seja honesto sobre concorrência em vez de escondê-la atrás de bloqueios. Eu analisarei sua arquitetura atual ou começarei do zero, escreverei atores testados e entregarei um código que pode ser compreendido. Tarefas típicas:
— novos backends baseados em atores e protocolos de mensagem;
— migrando um serviço bloqueante para Akka Streams;
— adicionando sharding de cluster e sourcing de eventos a uma aplicação em funcionamento;
— resgatando um projeto que enfrenta deadlocks e vaza atores sob carga.
Eu trabalho com o conjunto completo de ferramentas do Akka: clustering e sharding de cluster para distribuir entidades entre nós, Akka Streams para pipelines limitados com back-pressure, persistência e sourcing de eventos com CQRS para que modelos de escrita e leitura evoluam independentemente, e resolução de split-brain para que partições de rede não corrompam dados. Eu também me preocupo com o que você só lembra em batalha: passivação de atores inativos, atualizações sem tempo de inatividade, entrega ao menos uma vez com manipuladores idempotentes.
Entre em contato comigo se você quiser um sistema que seja honesto sobre concorrência em vez de escondê-la atrás de bloqueios. Eu analisarei sua arquitetura atual ou começarei do zero, escreverei atores testados e entregarei um código que pode ser compreendido. Tarefas típicas:
— novos backends baseados em atores e protocolos de mensagem;
— migrando um serviço bloqueante para Akka Streams;
— adicionando sharding de cluster e sourcing de eventos a uma aplicação em funcionamento;
— resgatando um projeto que enfrenta deadlocks e vaza atores sob carga.