마이크로 서비스 아키텍처-확장
확장은 소프트웨어를 다른 단위로 분해하는 프로세스입니다. 확장은 확장 성 측면에서도 정의됩니다. 확장 성은 응용 프로그램의 고급 기능을 구현할 수있는 잠재력입니다. 애플리케이션의 보안, 내구성 및 유지 보수성을 향상시키는 데 도움이됩니다. 업계에서 따르는 세 가지 유형의 확장 절차가 있습니다. 다음은 해당 실제 사례와 함께 다양한 확장 방법론입니다.
X 축 스케일링
X 축 스케일링은 수평 스케일링이라고도합니다. 이 절차에서는 전체 애플리케이션이 서로 다른 수평 부분으로 세분화됩니다. 일반적으로 모든 웹 서버 애플리케이션은 이러한 유형의 확장을 가질 수 있습니다. 다음 그림과 같이 수평 확장을 따르는 일반 MVC 아키텍처를 고려하십시오.
예를 들어 모든 JSP 서블릿 애플리케이션을 고려할 수 있습니다. 이 애플리케이션에서 컨트롤러는 모든 요청을 제어하고 필요할 때마다 모델과 통신하여 뷰를 생성합니다. 일반적으로 모 놀리 식 애플리케이션은이 확장 방법을 따릅니다. X 축 스케일링은 본질적으로 매우 기본적이며 시간 소모가 매우 적습니다. 이 방법론에서는 장치가 담당하는 다른 작업에 따라 하나의 소프트웨어가 확장됩니다. 예를 들어 컨트롤러는 수신 및 발신 요청을 제어하고 뷰는 브라우저에서 사용자에게 비즈니스 기능을 나타내는 역할을하며 모델은 데이터를 저장하고 데이터베이스로 작동합니다.
Y 축 스케일링
Y 축 확장은 리소스 수준 확장을 포함하는 수직 확장이라고도합니다. 모든 DBaaS 또는 Hadoop 시스템은 Y 축 확장으로 간주 할 수 있습니다. 이러한 유형의 확장에서 사용자 요청은 일부 논리를 구현하여 리디렉션되고 제한됩니다.
Facebook을 예로 들어 보겠습니다. 페이스 북은 매초 179 만 명의 사용자를 처리해야합니다. 따라서 트래픽을 제어하는 것은 Facebook 네트워크 엔지니어의 큰 책임입니다. 모든 위험을 극복하기 위해 동시에 동일한 애플리케이션으로 여러 서버를 실행하는 것을 포함하는 Y 축 확장을 따릅니다. 이제이 엄청난 수준의 트래픽을 제어하기 위해 Facebook은 이미지에 표시된대로 한 지역의 모든 트래픽을 특정 서버로 리디렉션합니다. 지역을 기반으로 한 이러한 트래픽 전송을 아키텍처 언어로로드 밸런싱이라고합니다.
리소스를 소규모 독립 비즈니스 단위로 분할하는이 방법을 Y 축 확장이라고합니다.
Z 축 스케일링
X 축 및 Y 축 스케일링은 이해하기 훨씬 쉽습니다. 그러나 하나의 애플리케이션을 비즈니스 수준에서 확장 할 수도 있는데이를 Z 축 확장이라고합니다. 다음은 비즈니스 단위의 다양한 업종에서 cab 서비스 애플리케이션을 확장하는 예입니다.
확장의 장점
Cost − 소프트웨어를 적절하게 확장하면 유지 관리 비용이 절감됩니다.
Performance − 느슨한 결합으로 인해 적절하게 확장 된 소프트웨어의 성능은 항상 확장되지 않은 소프트웨어보다 우수합니다.
Load distribution − 다른 기술을 사용하여 서버 부하를 쉽게 유지할 수 있습니다.
Reuse − 소프트웨어의 확장 성은 소프트웨어의 사용성을 증가시킵니다.