![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3f7eef9c-a0cb-4713-b2b0-714733730cfa/Untitled.png)
- 물리적으로 멀면, 물리적으로 통신하는 데 시간이 걸릴 수 밖에 없다.
- 통신에 대한 latency로 인해서 데이터 일관성에 문제가 생길 수 있다.
- 물리적인 거리를 해결하기 위해서 각 지역마다 서버를 두어서 처리하는 방법이 있다.
또 다른 해결책으로는 Active-Active Architecture가 있다.
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/bf565827-a56c-4a15-9a1b-f3dd3e2dddec/Untitled.png)
- 기술적인 이해도가 없으면 사용하기가 어렵다는 점에서 유료 제품을 사용하면 기술 지원을 받을 수 있다는 점에서 이점이 있다.
Active-Active Architecture란?
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5b93ee5e-8e70-49fd-90e3-cfaeaf88901e/Untitled.png)
- 여러 곳에서 데이터를 복제해 놓고, 읽기/쓰기를 허용한다(Replica 의 역할이 아님을 의미)
- 이를 multi-master구조라고 할 수 있음
- 이렇게 되면 빠른 latency를 확보할 수 있다(local에 대한 데이터를 접근하면 되기 떄문이다)
- 하지만 global Sync할 때가 문제인데 이를 Active-actice 로 해결한다
- 여러 클러스터를 연결하는 기술을 CRDT이라고 하며 이를 통해 데이터의 SYNC를 해소한다
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/195e9332-eea1-4a7a-bacf-6e5128cb8a5c/Untitled.png)
- 각 지역마다 서버를 구축하면 각 지역마다 다른 Redis Cluster를 바라보게 된다.