Microsoft 마이크로서비스 아키텍처 eShopOnContainers 분석

大家讲道理
풀어 주다: 2017-05-28 11:39:06
원래의
4383명이 탐색했습니다.

.Net Core를 홍보하기 위해 Microsoft는 Net Core 프레임워크를 사용하여 개발되었으며 크로스 플랫폼(거의 모든 플랫폼, Windows, Mac, linux을 포괄)인 오픈 소스 Demo-eShopOnContainers를 제공합니다. , Android, ios), 컨테이너에서 실행되는 작은 애플리케이션인 마이크로서비스아키텍처를 기반으로 .Net Core의 크로스 플랫폼 특성을 보여줄 뿐만 아니라 모든 코드가 VS2017에서 개발되었음을 보여줍니다. VS2017. 이름에서 알 수 있듯이 이는 컨테이너에서 실행되는 전자 상점 애플리케이션입니다. Docker의 크로스 플랫폼 특성을 활용하여 "한 번 빌드하면 어디서나 실행"할 수 있습니다.

1. 소개

eShopOnContainers는 마이크로서비스 아키텍처와 Docker 컨테이너를 기반으로 하는 간단한 .Net Core 애플리케이션입니다. 현재 마이크로서비스 아키텍처가 본격화되고 있고, 도커 기술도 급속도로 발전하고 있는 상황입니다. 마이크로소프트가 이번에 이 데모를 출시했는데, 이 데모를 프로덕션 환경에 완전히 적용할 수는 없겠지만, 그 의도는 충분히 짐작할 수 있습니다. 우리 개발자들에게는 학습 자료입니다. 약간의 수정을 하든 아키텍처를 사용하여 재개발하든, 이전에 BlogEngine.Net을 배웠던 것을 생각나게 하는 데모를 배우는 것이 매우 필요합니다.

2. 아키텍처

Microsoft에서 제공한 아키텍처 다이어그램을 살펴보겠습니다.

왼쪽에서 오른쪽으로 2개의 점선 상자가 표시됩니다. 왼쪽은 각 클라이언트 애플리케이션이고 오른쪽은 가정된 웹입니다. Docker 애플리케이션, 마이크로서비스 애플리케이션 및 데이터베이스에 있어야 합니다.

데모에서 Microsoft는 다양한 기능에 따라 여러 서비스를 구축했으며 이러한 서비스를 설계할 때 Microsoft는 아래 그림과 같이 다양한 방법을 사용하여 이를 구현했습니다.

위는 Microsoft입니다. 표시된 4가지 서비스에 대해 데모에서는 다양한 프레임워크와 데이터베이스를 사용하여 마이크로서비스 구축을 완료할 수도 있습니다. 이것이 바로 마이크로서비스가 인기를 끄는 이유입니다. 통화 최종 사용자가 사용하는 언어나 시스템에 관계없이 모든 언어와 데이터베이스를 사용하여 서비스를 구축할 수 있습니다.

3. 소스 코드

이 아키텍처는 Github의 오픈 소스입니다. 주소는 https://github.com/dotnet-architecture/eShopOnContainers

git을 통해 소스 코드를 복제할 수 있습니다.

3개의 sln이 있습니다. vs2017로 여는 것이 좋습니다. 정식 버전을 설치면 eShopOnContainers.sln을 열 수 있지만 일반적으로 초보자의 경우 eShopOnContainers-ServicesAndWebApps.sln을 엽니다. 문제를 해결하기 위해.

웹앱과 서비스 앱이 솔루션에 포함되어 있는 것을 볼 수 있으며, 저희 튜토리얼도 이 솔루션을 기반으로 하고 있습니다.

4. 필요한 환경:

앞서 우리 애플리케이션은 크로스 플랫폼이며 Docker를 지원하는 모든 운영 체제에서 실행될 수 있다고 말했지만, 디버깅을 개발할 때 디버깅하려면 해당 환경이 필요합니다. 디버깅을 위해 iisexpress를 사용할 수도 있습니다)

1. 64비트 Windows 10 Pro

2. Hyper-V(Microsoft의 가상 머신)를 켭니다.

3.win10 버전 이전이라면 Docker를 설치합니다. Docker Toolbox를 설치할 수 있지만 VS2017을 사용하여 Docker를 디버깅할 수 없으며 실행 시 오류가 보고됩니다. 이 튜토리얼에서는 더 잘 표시될 수 있도록 컴퓨터를 Win10으로 업그레이드하기로 결정했습니다.

이전 시스템에서 디버깅하고 실행하려면 Docker Toolbox를 설치하는 것 외에 다음도 설치해야 합니다.

1, Node

JS

2, Bower

Windows용 Docker는 win10 또는 server 2016 컨테이너에는 Linux 컨테이너와 Windows 컨테이너의 두 가지 유형이 있습니다. 여기서는 Linux 컨테이너(기본값)만 사용해야 합니다. 우리 튜토리얼은 서비스 및 웹앱에만 적용됩니다. Microsoft는 Docker에서 사용하는 메모리를 4096M(4G) 및 CPU 3으로 설정할 것을 권장합니다. 전체 버전(모바일 클라이언트 포함)을 실행하려면 Dockere용 16G 메모리를 구성해야 합니다.

제 개인적인 제안은 데이터베이스 전용 머신을 갖는 것이 낫다는 것입니다. 그렇지 않으면 mssql-linux-sql 도커에는 4G의 메모리가 필요합니다. 말할 필요도 없이

redis

도 구축해야 합니다.

학습할 때 반드시 Docker를 사용하여 디버깅할 필요는 없습니다. iis express를 사용할 수도 있습니다. 어떤 방법을 사용하든 중요한 것은 학습입니다.

5. 학습 단계:

이 일련의 설명은 ServicesAndWebApps.sln 코드를 기반으로 먼저 마이크로서비스에서 학습한 다음 웹 파트의 코드 구조를 살펴보겠습니다. 대략적인 순서는 다음과 같습니다:

1, Identity service

2, Catalog Service

3, Ordering Sevice

4, Basket Service

5, WebApp Mvc

6, WebSPA


마지막에 :

얼마 전에는 바빴지만 .Net Core 개발에 세심한 주의를 기울였습니다. 이전 빌더 컨퍼런스에서 2.0의 놀라운 데뷔는 Microsoft가 절대 포기하지 않을 것이라는 확신을 갖게 했습니다. .Net을 개발하기 위한 노력, 그리고 기다리게 만들었습니다. .Net Developer는 10년 동안 기다려온 세상의 모든 .Net 개발자들에게 경의를 표하고 싶습니다.

이 아키텍처를 선택한 이유는 Microsoft에서 작성했으며 교육적 중요성도 크기 때문입니다. 또한 현재 회사는 서비스를 기반으로 하는 개념이 점점 더 대중화되고 있습니다. 마이크로서비스의 개념) 배포, 개발, 유지보수, 확장에 있어서 불편한 점이 많기 때문에 이번 학습은 나에게 매우 중요합니다.

첫 번째 기사는 좀 더 말도 안되는 내용입니다. 나중에 코드와 아키텍처, 디자인 패턴에 대해 설명하겠습니다. 마지막으로 렌더링이 있습니다

위 내용은 Microsoft 마이크로서비스 아키텍처 eShopOnContainers 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿