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

보기: 32919|회답: 0

[출처] [건축]. net/c#은 Consul을 기반으로 한 키/값 저장소의 분산 구성을 구현합니다

[링크 복사]
2020-10-16 18:18:06에 게시됨 | | | |
분산 애플리케이션에서는 데이터베이스 연결 문자열 업데이트나 캐시 주소 업데이트 등 구성 속성을 수정하는 것이 종종 필요합니다. 애플리케이션이 많지 않다면 수동으로 수정할 수 있지만, 애플리케이션이 많아지면 분산 구성이 매우 중요합니다. 이 글은 Consul을 기반으로 한 .net/c#의 키/값 스토리지 아키텍처를 설명하여 분산 구성을 구현합니다.

집사 임명

간략한 소개

Consul은 분산되고 매우 확장 가능한 서비스 발견 및 등록 도구입니다.

Consul은 주로 다음과 같은 기능을 포함합니다:

  • 서비스 디스커버리: HTTP 및 DNS 프로토콜 모두에 대한 서비스 등록 및 디스커버리 지원.
  • 모니터링 점검: 여러 건강 점검을 지원합니다.
  • 키/값 저장: HTTP API를 통한 분산 KV 데이터 저장을 지원합니다.
  • 다중 데이터 센터 지원: 원하는 수의 데이터 센터를 지원합니다.


설치

다운로드 주소:

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

이 글은 테스트 환경으로 Windows 10 x64를 사용합니다.

다운로드하고 압축을 풀 후, cmd 명령어로 실행하세요. 코드는 다음과 같습니다:



dev는 개발 모드에서 실행을 의미하며, -client 매개변수는 클라이언트가 접근할 수 있는 IP를 지정하는 데 사용할 수 있습니다. 예를 들어 -client 127.0.0.1은 사용 가능을 의미하며, 개발 모드에서는 데이터가 보존되지 않습니다.

(개발 모드, 클러스터 모드는 운영 환경에서는 권장됩니다)



접근성:http://127.0.0.1:8500/ui/dc1/services아래를 참고하세요:



KV 인터페이스

API 문서 주소:

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

먼저, 온라인 웹페이지를 이용해 새로운 키/값 쌍을 만듭니다.

GET 요청 /v1/kv/:key 경로를 통해 값을 얻습니다.

http://127.0.0.1:8500/v1/kv/test



[
    {
        "LockIndex": 0,
        "키": "테스트",
        "깃발": 0,
        "Value": "aXRzdnNlLmNvbQ==",
        "크리에이트인덱스": 194,
        "수정 인덱스": 194
    }
]


  • CreateIndex는 항목이 생성된 시점을 나타내는 내부 인덱스 값입니다.
  • ModifyIndex는 이 키를 수정하는 마지막 인덱스입니다. 이 인덱스는 X-Consul-Index가 응답에서 반환한 헤더 값에 해당하며, ? 인덱스 쿼리 매개변수는 블로킹 쿼리를 설정하는 데 사용됩니다. KV 저장소 전체 서브트리에 대해 차단 쿼리도 수행할 수 있습니다: 만약에? recurse는 쿼리를 제공하며, 반환된 값 X-Consul-Index는 접두사의 ModifyIndex 최신 값에 해당합니다. blocking query를 사용하면 ?index는 해당 접두사의 키가 업데이트될 때까지 기다립니다.
  • 락인덱스는 자물쇠 안의 열쇠가 성공적으로 획득된 횟수입니다. 잠금장치가 유지되어 있으면, 세션 키는 잠금을 소유한 세션을 제공합니다.
  • 열쇠는 진입 경로 전체에 있습니다.
  • 플래그는 각 항목에 부착할 수 있는 불투명한 부호 없는 정수입니다. 고객은 이 옵션을 선택할 수 있지만, 그들의 애플리케이션에 맞게 합리적입니다.
  • 값은 base64로 인코딩된 데이터 덩어리입니다.


.NET/C# 키/값 읽기 및 쓰기

먼저, .NET 4.6.1 프로젝트를 만들고 nuget을 사용해 필요한 패키지를 설치하세요. 다음과 같습니다:



코드는 다음과 같습니다:



렌더링은 다음과 같습니다:



  • 핵심 키는 대문자에 구분됩니다
  • 키가 중복되면 값이 덮어써집니다


(끝)




이전의:집에서 노트북에서 10년간 .NET 프로그램을 디버깅하기
다음:아키텍처: ASP.NET Core는 Consul을 기반으로 동적으로 핫 업데이트를 구성합니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com