Open tonykang22 opened 1 year ago
/message
new_msg
Client → Backend → Database
edge cache service
Write-around
Write-around 전략
Client -[HTTP] - BackendServer
Client -[WebSocket]- MessageServer
BackendServer → Flannel
@
#standup
#music
선제적으로 업데이트
Slack Architecture
Slack 1.0
기능 요구 사항
비기능 요구 사항
디자인
구성
동작 원리
/message
Backend Server에 POST 요청 전송new_msg
Princess의 메시지가 포함된 이벤트를 Message Server로 보낸다.new_msg
이벤트를 수신하여 처리하고 FinApp의 모든 사용자에게 메시지를 팬아웃한다.예측
Slack 2.0
이슈
Client → Backend → Database
경로를 거쳐 로컬 스냅샷을 업데이트해야 한다.개선 방안 1. Fat + Lazy 클라이언트
개선 방안 2. Flannel
edge cache service
라고 한다.잠깐 : Write-around 전략?
Write-around
는 캐싱 전략 중 하나이다.Write-around 전략
은 이름에서 나타나 있듯이 Write 캐싱 전략 중 하나이다.두 가지 경로
Client -[HTTP] - BackendServer
Client -[WebSocket]- MessageServer
개선 방안 3. Flannel Reloaded
Distributed Flannel
Query Engine
BackendServer → Flannel
로 이동했기 때문이다.@
를 통해 동료 등을 멘션할 수 있게 추천Preemptive Updates
#standup
스냅샷을 load한다.#music
스냅샷을 load한다.#standup
에서 L을 멘션하면, P-Client는 BackendServer에 요청을 보낸다.#standup
을 load하지 않은 것을 알고 있기 때문에 Flannel은#standup
에 메시지 업데이트를 포함하는 페이로드를선제적으로 업데이트
한다.선제적으로 업데이트
하지 않으면, L-Client는 메시지를 수신한 뒤에 Flannel에#standup
관련 데이터를 요청하게 된다.그 외