Chapter 17 Design Google Doc

adlxk 发表于 2020-3-18 07:22
楼主可以具体说下后两轮account merge和系统设计吗

sys design 就是一个online 多人editing
- 一开始让我brainstorm怎么具体能实现concurrency 就砸了这里..
我bs lock 2phase transactions,timestamp based 这些但就不太现实. 
最后有告诉我叫operation transform, 就有点guide me through.

- 后半部分就常规distributed system东西  
幻想有超多用户时候 versioning 应该怎样deploy 怎样scale(p2p, CDN那些)

https://1o24bbs.com/t/topic/10102

http://www.meetqun.net/thread-25388-1-1.html

https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd6.html

17.1 Collaborative Editing

  • Concurrency
  • Latency

Lock (x)

Lock free architecture

  • Pessimistic [x]
  • Optimistic [v]
  1. Versioning

Sync Strategies:

  1. Event Passing (Operation Transformation) - Google Wave
  • char-by-char, font-change
  • line-by-line
  • diff
  1. Differential Synchronization

Event

  • Insert()
  • Delete()
  • Update()
  • Retain()

font, size, color etc

17.2 Differentail synchronisation