simple cache architecture
DESCRIPTION
TRANSCRIPT
![Page 2: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/2.jpg)
What is Cache?
![Page 3: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/3.jpg)
Cache == Speed
![Page 4: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/4.jpg)
Disk Accessing is too late
![Page 5: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/5.jpg)
Operation Time is too long
![Page 6: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/6.jpg)
Client
Business Object
Memory
Disk
Client Client Client
![Page 7: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/7.jpg)
Client
Business Object
Distributed Cache
DB
Client Client Client
![Page 8: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/8.jpg)
Connect via Business Object
![Page 9: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/9.jpg)
Don’t Connect Client between DB directly
![Page 10: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/10.jpg)
Distributed Cache
![Page 11: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/11.jpg)
Consistent Hashing
![Page 12: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/12.jpg)
Proxy
Server
Server
Server
Server
Server
User Request
K = 10000 N = 5
Origin
![Page 13: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/13.jpg)
Proxy
Server
Server
Server
Server
Server
User Request
K = 10000 N = 4
FAIL : Redistribution about 2000 Users
![Page 14: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/14.jpg)
Proxy
Server
Server
Server
Server
Server
User Request
K = 10000 N = 5
RECOVER: Redistribution about 2500 Users
![Page 15: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/15.jpg)
A
Add A,B,C Server
![Page 16: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/16.jpg)
A
B
Add A,B,C Server
![Page 17: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/17.jpg)
A
B
C
Add A,B,C Server
![Page 18: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/18.jpg)
A
B
C
1
Add Item 1
![Page 19: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/19.jpg)
A
B
C
1
2
Add Item 2
![Page 20: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/20.jpg)
A
B
C
1
2
3
4
5
Add Item 3,4,5
![Page 21: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/21.jpg)
A
B
C 2
3
4
5
Fail!! B Server
![Page 22: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/22.jpg)
A
B
C
1
2
3
4
5
Add Item 1 Again -> Allocated C Server
![Page 23: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/23.jpg)
A
B
C
1
2
3
4
5
1
Recover B Server -> Add Item 1
![Page 24: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/24.jpg)
A
B
C
Real Implementation
A+1
A+2
A+3 B+1
B+2
C+1
C+2
A+4
C+3
B+3
![Page 25: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/25.jpg)
Mistake
![Page 26: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/26.jpg)
A
DB Cache
B
Normal Step
1. A:DB:W 2. A:Cache:W 3. B:DB:W 4. B:Cache:W
![Page 27: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/27.jpg)
A
DB Cache
B
Race Condition Step
1. A:DB:W 3. B:Cache:W 2. B:DB:W 4. A:Cache:W
![Page 28: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/28.jpg)
Solution?
![Page 29: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/29.jpg)
Global Lock?
![Page 30: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/30.jpg)
CAS?
![Page 31: Simple cache architecture](https://reader033.vdocuments.mx/reader033/viewer/2022051514/5484089d5906b5a3158b4695/html5/thumbnails/31.jpg)
Thank You!