Tenho a noção de uma rede social que é robusta contra ataques maliciosos externos. Minha visão é um sistema estruturado estruturalmente como uma rede distribuída de servidores iguais que operam nos mesmos dados e oferecem serviços idênticos. Todos os usuários devem interagir na mesma rede, independentemente do respectivo servidor com o qual se comunicam. A idéia é impedir (pelo menos teoricamente) todas as oportunidades de derrubar todo o sistema e obter uma falha total de todo o serviço. Obviamente, o design desse sistema não é trivial devido aos mecanismos de sincronização adequados. Por outro lado, existe o desafio de transmitir os participantes aos servidores apropriados. Espero que você tenha entendido minha ideia.
O fato é que só tenho uma vaga noção de como esse sistema pode funcionar e, além disso, aparentemente próspero repassou as palestras relevantes sobre sistemas distribuídos nos meus estudos de cs. Portanto, estou um pouco sem uma visão geral da literatura relevante, trabalhos científicos que descrevem modelos teóricos e também exemplos do mundo real.
Alguém pode me ajudar com referências, links e explicações úteis?
Para mim, o que você está procurando é a abordagem "máquina de estado replicada", que é um método geral para implementar um serviço tolerante a falhas, replicando servidores e coordenando as interações do cliente com as réplicas do servidor.
Você pode primeiro verificar o wiki: Replicação de máquina de estado e o documento de pesquisa Implementando serviços tolerantes a falhas usando a abordagem de máquina de estado: um tutorial .
Para uma leitura mais detalhada, pode ser necessário aprender o algoritmo de consenso distribuído, especialmente o algoritmo Paxos (por exemplo, Paxos Made Simple ).
fonte