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

보기: 28399|회답: 1

[출처] 아키텍처: ASP.NET Core는 Consul을 기반으로 동적으로 핫 업데이트를 구성합니다

[링크 복사]
게시됨 2020. 10. 16. 오후 6:25:34 | | | |
Core ASP.NET 마이크로서비스를 구현할 때는 구성 센터 문제를 해결해야 합니다. 마이크로서비스든 아니든, 노드가 많아지면서 설정 파일을 하나씩 바꾸는 것은 매우 번거롭습니다. 오늘은 Consul을 기반으로 한 경량 구성 센터 솔루션을 공유하려고 합니다. 프로필에 대한 핫 업데이트는 재사이트 없이도 이루어집니다.

배경

일반적으로 .NET 애플리케이션의 구성은 App.config, Web.config, appsettings.json와 같은 구성 파일에 저장됩니다. ASP.Net Core부터 시작해, 구성을 구성 파일 외부에 저장하고 명령줄, 환경 변수 등에서 불러올 수 있는 새로운 확장 가능한 구성 프레임워크가 등장했습니다.

전통적인 프로젝트에서는 구성 파일을 수정하려면 운영 환경에 로그인해야 하며, 많은 프로젝트가 있을 때 유지보수와 관리에 불편합니다.

따라서 Consul을 사용해 실시간으로 온라인 구성을 구성하는데, 이는 서비스를 재시작하지 않고 구성만 변경함으로써 실시간으로 응답하는 목표를 달성합니다. 구현 아이디어는 Consul의 키/값을 기반으로 하며, 여러 Consul 노드를 자동으로 동기화하고 구성할 수 있습니다. 저희 프로그램은 ConfigurationProvider를 구현하고 Consul 변경 사항을 듣는 것입니다.

영사 구성

다운로드 및 설치에 대해서는 다음을 참고하실 수 있습니다:

[건축]. net/c#은 Consul을 기반으로 한 키/값 저장소의 분산 구성을 구현합니다
https://www.itsvse.com/thread-9420-1-1.html

ASP.NET 핵심 구성

먼저, 다음 명령어로 nuget 패키지를 설치하세요:



Program.cs 파일을 다음 코드로 수정하세요:



구성에 대한 자세한 정보는 다음을 참고하시기 바랍니다:

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

Consul 서비스 센터 주소를 설정하고 appsettings.json 파일을 다음과 같이 수정하세요:



컨트롤러 코드는 다음과 같습니다:



아래 설명과 같이 프로젝트를 시작하세요:





Consul에서는 테스트 값을 설정하지 않기 때문에 fetch가 비어 있습니다.

그거 여세요하이퍼링크 로그인이 보입니다.프로젝트에 필요한 파일을 구성하세요.

프로젝트가 읽은 프로필 주소는 다음과 같습니다:

"/WebApplication1/appsettings. Development.json"

따라서 새로운 "WebApplication1" 폴더와 "appsettings"를 만들어야 합니다. 아래에 나타난 Development.json" 파일:



가치는 다음과 같습니다:



저장 후 아래 사진처럼 웹사이트를 새로고침합니다:



아래와 같이 문제 없이 테스트한 한자 결과:



테스트 값이 성공적으로 얻어져 동적 구성 함수가 구현되고, 웹사이트를 재시작하지 않고도 설정 파일이 핫 업데이트됩니다.




이전의:[건축]. net/c#은 Consul을 기반으로 한 키/값 저장소의 분산 구성을 구현합니다
다음:【아키텍처】ASP.NET 코어는 Consul 서비스를 기반으로 매우 높은 가용성을 자랑합니다
게시됨 2022. 1. 5. 오후 2:42:56 |
배우기 위해 배우세요
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com