-
Notifications
You must be signed in to change notification settings - Fork 1
Overview
Soonho Kwon edited this page Jan 27, 2024
·
4 revisions
@biseo/rpc
는 Biseo에서 실시간성 데이터 교환 스키마를 정의하고, 사용하고, 핸들링하기 위해 만들어진 커스텀 패키지입니다.
이 패키지는 클라이언트와 서버 사이의 데이터 교환을 크게 두 가지 컨셉, mutation
, subscription
으로 이해합니다.
기존에 사용하던 이벤트 기반 데이터 교환과 비교하기 위해서는 Migration Guide를 참고하세요.
해당 개념들을 앞서 사용하고 있는
graphql
,grpc
,react-query
,tRPC
,swr
등의 기술들에서 사용하고 있는mutation
과subscription
의 개념을 차용하였으며, 상세 내용들은 해당 기술들의 공식 문서를 참고하세요.
클라이언트가 서버 상의 리소스를 변경하는 작업입니다. 채팅 보내기
, 투표 종료하기
등의 예시가 있습니다. CRUD 중 Create, Update, Delete에 대응합니다.
관련 문서 - Mutations
클라이언트가 서버로부터 데이터를 구독하는(읽어오고 변경을 반영하는) 작업입니다. 전체 채팅 목록
, 내가 받은 알림
, 투표 목록
등의 예시가 있습니다. CRUD 중 Read와 제일 비슷하나 다른 점은 서버 데이터의 변경이 발생했을 때 그 변경점이 클라이언트에도 바로 반영된다는 점입니다.
관련 문서 - Subscriptions
이 패키지는 크게 세 부분으로 나뉘어집니다.
-
@biseo/rpc/schema
: 인터페이스 스키마를 정의하기 위한 함수들 -
@biseo/rpc/client
: 인터페이스 스키마를 클라이언트에서 사용하기 위한 hook과 provider들 -
@biseo/rpc/server
: 정의된 인터페이스의 서버 단 handler를 구현하기 위한 함수들
- Overview
- 컨셉
- Schema Usage
- Server Usage
mutation
핸들러 구현하기- [[
subscription
이벤트 브로드캐스트하기]] - 에러 핸들링
- Client Usage
- Guides & Concepts
-
schema
API -
client
API -
server
API