Azure Fluid Relay 개요

Fluid Framework는 플랫폼 독립적인 오픈 소스 프레임워크입니다. Azure Fluid Relay는 개발자가 실시간으로 공동 작업 환경을 빌드하고 연결된 JavaScript 클라이언트 간에 실시간으로 상태를 복제할 수 있도록 지원하는 Fluid Framework용 관리 제품입니다.

Fluid Framework란?

Fluid Framework는 공유 상태를 배포하고 동기화하기 위한 클라이언트 라이브러리의 컬렉션입니다. 이러한 라이브러리를 사용하면 여러 클라이언트가 로컬 데이터 작업에 사용되는 것과 유사한 코딩 패턴을 사용하여 공유 데이터 구조를 동시에 만들고 작동할 수 있습니다.

FluidFramework.com에 대한 추가 설명서.

Fluid를 사용하는 이유

대기 시간이 짧고 협업 환경을 빌드하기가 어렵기 때문입니다.

Fluid Framework는 다음을 제공합니다.

  • 사용자 지정 서버 코드가 필요하지 않은 데이터 지속성이 있는 클라이언트 중심 애플리케이션 모델입니다.
  • 친숙한 프로그래밍 패턴을 사용하는 분산 데이터 구조.
  • 대기 시간이 매우 짧습니다.

Microsoft의 개발자는 많은 애플리케이션에 협업 기능을 빌드했지만 협업 환경을 관리하기 위해 애플리케이션별 서버 쪽 논리가 필요한 경우가 많았습니다. Fluid Framework는 공동 작업 애플리케이션 만들기의 복잡성을 줄이기 위한 Microsoft의 투자 결과입니다.

서버 코드에 전혀 투자할 필요가 없다면 어떨까요? 가볍고 저렴하게 설계된 범용 서버를 사용할 수 있다고 상상해 보세요. 모든 개발이 클라이언트 환경에 집중되고 데이터 동기화가 자동으로 처리된다고 상상해 보세요. 이것이 Fluid의 약속입니다.

클라이언트 개발자에 집중

Fluid Framework로 빌드된 애플리케이션은 텍스트 편집기에서 실시간 입력과 같은 정교한 데이터 동기화 시나리오를 사용하도록 설정하기 위해 서버에 사용자 지정 코드가 필요하지 않습니다. 클라이언트 개발자는 Fluid가 데이터 동기화 작업을 수행하도록 하면서 고객 환경에 집중할 수 있습니다.

Fluid Framework는 선택한 애플리케이션 프레임워크와 함께 작동합니다. JavaScript를 선호하든 React, Angular 또는 Vue와 같은 프레임워크를 선호하든 Fluid Framework를 사용하면 협업 환경을 간단하고 유연하게 빌드할 수 있습니다.

Fluid 작동 방식

Fluid는 뛰어난 성능으로 협업 환경을 제공하도록 설계되었습니다. 이 목표를 달성하기 위해 팀은 서버 논리를 최대한 단순하고 가볍게 유지했습니다. 이 방식은 낮은 서버 비용으로 클라이언트 간에 거의 즉각적인 동기화를 보장하는 데 도움이 되었습니다.

서버를 단순하게 유지하기 위해 각 Fluid 클라이언트는 자체 상태를 담당합니다. 이전 시스템이 서버에 정보 원본을 유지하는 동안 Fluid 서비스는 데이터 작업을 수행하고, 작업 시퀀스를 지정하고, 시퀀스가 지정된 작업을 클라이언트에 반환하는 일을 담당합니다. 각 클라이언트는 해당 시퀀스를 사용하여 작업 수신 시퀀스에 관계없이 현재 상태를 독립적이고 정확하게 생성할 수 있습니다.

다음 단계는 일반적인 흐름입니다.

  1. 클라이언트 코드는 로컬에서 데이터를 변경합니다.
  2. Fluid 런타임은 해당 변경 내용을 Fluid 서비스로 보냅니다.
  3. 작동하는 Fluid 서비스 시퀀스를 모든 클라이언트에 브로드캐스트합니다.
  4. Fluid 런타임은 해당 작업을 로컬 데이터에 통합하고 "valueChanged" 이벤트를 발생시킵니다.
  5. 클라이언트 코드는 해당 이벤트를 처리합니다(뷰 업데이트, 비즈니스 논리 실행).