O que é distribuído bloqueio
Baidu em si. . .
Por distribuído bloqueio
seleção de tecnologia de bloqueio distribuído
File System
processo
De um local especificado para determinar se há lock.txt, não existe, criar (ou seja, significa que o segmento atual para adquirir o bloqueio), lock.txt de exclusão após a execução, que é criado quando não for bem sucedida (circulado que esperar até que você tenha criado o sucesso ).
problema
Uma vez criado t1 lock.txt, os problemas repentinos interrupção causa, não será t1 lock.txt (thread que o criou) removido. Isto levará a lock.txt sempre existiu, t2 circulado, que houve um impasse.
banco de dados
Seus processos com um sistema de arquivos semelhantes, são criados após o bloqueio, porque o criador da interrupção brusca causada pelo bloqueio não pode ser liberado.
esconderijo
Depois de usar o cache como um bloqueio distribuído, que os dois programas anteriores mencionado proeminente vantagem é que você pode definir um tempo de bloqueio de validade, o que significa que mesmo se um impasse ocorre, é apenas um curto período de tempo, esperando impasse expirado, outros segmentos você pode continuar a competir.
Funcionário do zoológico
Por Zookeeper é mais adequado como um bloqueio distribuído, primeiro entender algumas das características de Zookeeper.
foco temporária nesse nó:
sobrevivência temporária depende da sessão de nó cliente, quando a sessão termina, o nó temporário será apagado automaticamente (é claro, você também pode excluir manualmente o nó temporário).
Isto significa que quando conectado a vários clientes Zookeeper, se um cliente se desconecta, em seguida, ele cria um nó temporário será apagado automaticamente.
Ele explica como obter o bloqueio será liberado, então o próximo é explicar como competir bloqueio.
Quando o processo ainda não divulgou o bloqueio para obter 1, 2 processo para bloqueio (nó) registrou um ouvinte de evento, quando o bloqueio é removido, ouvindo eventos disparados, de modo a despertar o processo de 2 continua a arrebatar bloqueio.