이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 156057|회답: 37

[콘솔 프로그램] .net/c# Zookeeper 분산 잠금 구현 [소스 코드]

[링크 복사]
게시됨 2018. 4. 4. 오후 5:10:42 | | | |
먼저, .net/c# Zookeeper에 관한 두 개의 배포 자물쇠 기사입니다:

하이퍼링크 로그인이 보입니다.

하이퍼링크 로그인이 보입니다.

사실, 위의 두 글은 틀렸습니다! 프로그래밍 개발자들을 완전히 오해의 소지가 있습니다!


소개Zookeeper 설치 튜토리얼:

【실전 전투】Windows 환경에서 Zookeeper 설치 튜토리얼
http://www.itsvse.com/thread-4603-1-1.html
(출처: Architect_Programmer)

Zookeeper 분산 잠금장치의 구현 원리는 간단한 용어로 설명됩니다:

1: 모든 자식 노드를 락커 아래에 넣는다

2: 모든 하위 노드가 정렬되어 있으며, 다음은 두 가지 상황입니다

노드의 일련번호가 가장 작으면, 클라이언트는 잠금을 획득한 것으로 간주됩니다. 네가 할 수 있는 게 있어!
만약 당신의 노드가 가장 작은 일련번호가 아니라면, 가장 작은 노드를 듣는 노드는 이전 노드가 아닙니다!! 여기 집중하세요!
(이전 노드가 타임아웃되어 잠금을 해제할 수 있기 때문입니다!) )

3: Zookeeper 알림을 기다린 후, 2번 연산을 반복하여 모든 노드를 뽑아 정렬하고, 자신이 가장 작은 노드인지 판단합니다............

원리를 알았다면, 왜 이 글의 상위 두 서론이 틀렸는지 살펴보겠습니다.





기사에 나온 순서 예시를 보면 맞는 것 같고, 달리기 후 결과도 맞습니다! 하지만 몇 번 테스트해보면 기사 내 코드가 완전히 틀렸다는 것을 알게 될 것입니다!!!

그러니 원칙을 알고 있으니 직접 써봅시다! 어쨌든, 인터넷에서 코드에 의해 좌절된 게 이번이 처음은 아니에요!

정확한 GIF는 다음과 같습니다:



통화 코드:



ZooKeeperNet.dll 사용되는 버전은 3.4.6.1입니다

[실제 전투] ASP.NET 코어는 레디스 배포 잠금 플래시 세일을 기반으로 합니다
https://www.itsvse.com/thread-9397-1-1.html

마지막으로 소스 코드를 첨부하세요:

관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다회답





이전의:"명령줄 인터페이스에서 비밀번호를 사용하는..." 문제를 해결하세요. "
다음:jQuery는 jQuery 객체의 라벨 타입을 받습니다
게시됨 2019. 5. 6. 오후 6:15:55 |
LZ, 소스 코드를 살펴봤는데, ZK 임시 노드 메커니즘 때문인지 몰라도 잠금 해제 같은 zk 타임아웃 연산을 처리하지 못했습니다. zk가 분리되면 노드가 자동으로 삭제됩니다.
게시됨 2019. 7. 3. 오전 11:16:25 |
실행 오류: ZooKeeperNet.KeeperException+ConnectionLossException 타입의 예외를 던집니다.
게시됨 2019. 5. 6. 오후 6:17:02 |
단일 zk의 경우에는 문제가 없을 수도 있습니다. 만약 zk가 클러스터라면, 3개의 zk 데이터 동기화 업데이트 성능 문제가 생길까요?
게시됨 2018. 4. 8. 오후 4:32:38 |
공유해 주셔서 감사합니다. 한번 살펴보겠습니다
게시됨 2018. 6. 1. 오후 12:01:39 |
공유해 주셔서 감사합니다
게시됨 2018. 7. 5. 오후 12:31:02 |
좋은 글이네요
게시됨 2018. 7. 10. 오후 12:11:14 |
마크
마크
마크
마크
게시됨 2018. 7. 11. 오후 3:47:20 |
네, 우리는 분배 잠금 구현 방식을 작업 중입니다
게시됨 2018. 8. 1. 오후 12:52:23 |
한번 보자.
게시됨 2018. 10. 28. 오후 7:55:23 |
배우기 위해 배우세요
게시됨 2018. 10. 31. 오후 4:52:15 |
공부하는 거 고마워
게시됨 2018. 11. 23. 오전 10:24:32 |
나쁘지 않아요, 아주 좋아요
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com