공간 기반 아키텍처

Space-based architecture
공간 기반 아키텍처 다이어그램

스페이스 기반 아키텍처(SBA)는 하나 이상의 공유 공간을 통해 튜플이나 엔트리를 교환함으로써 다양한 요소들이 상호 작용하는 분산 컴퓨팅 시스템에 대한 접근방식이다.이는 메시지 중개인을 통해 메시지를 교환함으로써 다양한 구성 요소가 상호 작용하는 일반적인 메시지서비스 접근 방식과 대조된다.어떤 의미에서 두 가지 접근법은 모두 어떤 중앙 에이전트와 메시지를 교환하지만, 그들이 메시지를 교환하는 방법은 매우 독특하다.

비유가 있다면 메시지 브로커는 학술회의와 같을 수 있고, 각 발표자가 무대를 가지고 있고, 예정된 순서대로 발표한다. 반면, 튜플 공간은 모든 참가자가 공통 화이트보드에 동시에 글을 쓸 수 있고, 모두가 동시에 그것을 볼 수 있는 Unconference와 같다.

  • 투플 스페이스
    • 각 공간은 구성 요소가 상호 작용하도록 선택할 수 있는 메시지 브로커 시스템의 '채널'과 같다.
    • 구성요소는 공간에 '투플' 또는 '엔트리'를 쓸 수 있고, 다른 구성요소는 공간으로부터 입력/투플을 읽을 수 있지만, 메시지 브로커보다 더 강력한 메커니즘을 사용한다.
    • 공백에 항목을 쓰는 것은 일반적으로 메시지 브로커에서처럼 순서가 정해지지 않지만, 필요한 경우 순서가 될 수 있다.
    • 이 접근법을 사용하여 응용프로그램을 설계하는 것은 대부분의 사람들에게 덜 직관적이며, 더 많은 인지적 부하를 제공하여 감사하고 이용할 수 있다.
  • 메시지 브로커
    • 각 브로커는 일반적으로 구성요소가 상호 작용하도록 선택할 수 있는 여러 '중개'를 지원한다.
    • 다른 구성 요소가 채널의 메시지를 읽는 동안 구성 요소는 채널에 '필수'를 쓴다.
    • 어떤 채널에 메시지를 쓰는 것은 일반적으로 순서인데, 일반적으로 같은 순서로 읽힌다.
    • 이러한 접근 방식을 사용하여 애플리케이션을 설계하는 것은 대부분의 사용자에게 보다 직관적이며, SQL보다 NoSQL 데이터베이스가 더 직관적인 방식과 같다.

두 접근방식의 핵심 목표는 구성, 특히 누가 무엇을 하는지에 대한 공유 지식을 최소화하여 가용성, 복원력, 확장성 등을 향상시키는 느슨하게 결합되는 시스템을 만드는 것이다.

좀 더 구체적으로, SBA는 튜플 공간 패러다임을 사용하여 상태 저장, 고성능 애플리케이션의 선형 확장성을 달성하기 위한 분산 컴퓨팅 아키텍처다.그것은 그리드 컴퓨팅의 요소뿐만 아니라 REST(표현 상태 전송), 서비스 지향 아키텍처(SOA), 이벤트 중심 아키텍처(EDA)의 많은 원칙들을 따른다.공간 기반 아키텍처를 통해 애플리케이션은 PU(Processing-units)로 알려진 자급자족 단위 집합으로 구축된다.이들 단위는 서로 독립적이어서 더 많은 단위를 추가하여 응용프로그램을 확장할 수 있다.SBA 모델은 구글, 아마존닷컴 등 유명 기업들이 사용하는 공유 무(無) 아키텍처(SN)와 같이 애플리케이션 확장성 과제를 성공적으로 해결한 것으로 입증된 다른 패턴과 밀접하게 관련되어 있다.이 모델은 또한 확장 가능한 전자 증권 거래 애플리케이션을 구현하기 위해 증권 업계의 많은 기업들에 의해 적용되었다.

역사

우주 기반 아키텍처 (SBA)는 원래 1997-98년에 마이크로소프트에서 발명되고 개발되었다.내부적으로 마이크로소프트에서는 YDC(Yorkon Distributed Caching Platform)로 알려져 있었다.이를 기반으로 한 첫 번째 대형 웹 프로젝트는 MSN Live Search(1999년 9월 출시)와 이후 MSN 고객 마케팅 데이터 저장소(모든 MSN 사이트가 공유하는 멀티 테라바이트 인메모리 DB)뿐 아니라 1990년대 후반과 2000년대 초반에 공개된 여러 MSN 사이트들이다.다음을 기반으로 한 미국 특허 6,453,404 및 6,449,695[2]: 및 기타 특허를 참조하십시오.[3]

공간 기반 아키텍처의 구성요소

공간 기반 아키텍처의 원리에 기초하여 구축된 애플리케이션은 일반적으로 다음과 같은 구성요소를 가진다.

가공단위
확장성과 페일오버의 단위.일반적으로 처리 장치는 스프링 프레임워크가 제공하는 것과 같은 POJO(Plain Old Java Object) 컨테이너로 제작된다.
가상 미들웨어
전체 미들웨어 스택에서 사용되는 공통 런타임 및 클러스터링 모델.일반적인 SBA 아키텍처의 핵심 미들웨어 구성요소는 다음과 같다.
구성 요소 설명
메시징 그리드 들어오는 트랜잭션의 흐름과 서비스 간의 통신 처리
데이터 그리드 기본 데이터베이스와 데이터를 동기화하는 옵션을 사용하여 분산 메모리의 데이터 관리
처리 그리드 서로 다른 서비스 간에 이벤트를 병렬 처리할 수 있는 마스터/작업자 패턴(칠판 패턴이라고도 함) 기반 병렬 처리 구성 요소
POJO 기반 서비스 모델
모든 표준 Java 구현을 통해 느슨하게 결합된 분산 서비스로 전환할 수 있는 경량 서비스 모델.이 모델은 동일한 처리 단위 내에서 실행되는 서비스와의 상호작용에 이상적이다.
SLA 기반 컨테이너
SLA 기반 컨테이너는 서비스 수준 계약에 따라 동적 시스템 풀에 애플리케이션을 배포할 수 있도록 한다.SLA 정의에는 애플리케이션 확장 및 페일오버 정책을 준수하기 위해 실행해야 하는 인스턴스 수와 기타 정책이 포함된다.

참고 항목

참조

  1. ^ 미국 특허: 6453404
  2. ^ 미국 특허: 6449695
  3. ^ "Patent Database Search Results: Bereznyi in US Patent Collection".

문학

기사/페이퍼, 기술: