estamos usando MariaDB 10.2 com plugin Galera. O cluster consiste em 4 nós - 3 são consultas complexas de serviço ocupado e 1 é mais para um backup.
Recentemente nos deparamos com o ProxySQL e isso nos parece muito interessante em termos de dividir consultas de inserção em um servidor e selecionar dados de outros. Esperamos evitar deadlocks e problemas de autoincremento durante alta atividade.
Mas um de nossos desenvolvedores descobriu um atraso - ao usar o ProxySQL ele tenta inserir um registro simples e fazer uma seleção instantânea desse registro. Em geral, a cada segundo ou terceiro tal solicitação de seleção falha devido à latência. Se ele adicionar um pequeno atraso de 0,01s - ele nunca falhará, pois todos os nós da galera são capazes de sincronizar dentro desse tempo.
Agora a questão é - é possÃvel armazenar em cache os dados inseridos com o ProxySQL, para que a "seleção" instantânea seja retornada do cache, pelo menos nos primeiros 0,01 segundos.
Ou existem outras formas ou sugestões neste cenário?
Obrigada. :)
Adicionar um atraso de 10 milissegundos antes de buscar um registro recém-inserido resolve o problema e foi implementado como uma correção temporária, mas espero que haja uma solução mais bonita para isso.