안녕하세요. 질문이 있어서 글 올립니다. 현재 국내 서비스용으로 tokyo region…

안녕하세요. 질문이 있어서 글 올립니다.

현재 국내 서비스용으로 tokyo region 을 사용해서 EC2, RDS…. 를 구축 한 상태 입니다.

이번에 유럽(독일)에 서비스를 제공 하기 위해서 서버를 구축 하려고 합니다. 궁금한 점은 EC2 인스턴스만 생성하고 RDS 는 Tokyo 에서 통합 관리 하려고 있는데, 이렇게 구축 하는게 과연 올바른건지 궁금하네요.

사정상 DB 의 정보는 공유가 되어야 하기 때문에 위처럼 구현 하려고 하는데, 일반적으로 글로벌 서비스는 어떤 방식으로 구현이 되는지 대략적으로 알려주시면 감사하겠습니다.

10 thoughts on “안녕하세요. 질문이 있어서 글 올립니다. 현재 국내 서비스용으로 tokyo region…

  1. 실제적으로 부족한 제가 아는 방법으로는 RDS MySQL 일 경우에 Read Replica를 통하여 Read Operation은 방안이 있는데, 서비스의 특징에 따라 선택하셔야 할 듯 싶습니다. Write Operation이 정말 많고 Replication 중 Data 무결성이 정말 중요한 서비스일 경우는 Region별로 DB를 구축하고 비동기적으로 상호 데이터 동기화를 하는 방법 밖에는 없을 듯 싶습니다. 일반적인 경우는 Read Replication으로 Region간 처리가 가능합니다만…

  2. 말씀하신 방법으로 서비스 구성은 가능하지만 액세스 시간이 길어지기 때문에 글로벌 서비스에서는 선택하지 않는 방법입니다.
    어떤 DB 를 사용하시는지 얘기가 없으시니 더 조언드리기가 어렵군요.

  3. 김선겸님 현재 DBMS는 Mysql 을 사용하고 있습니다.
    제가 얼마전에 Canada 에서 테스트를 해 봤을때 Tokyo Region 서버를 그대로 사용해서 테스트를 해 봤는데, Route53 을 통해서 들어가서 그런지 체감상으로 큰 차이는 못느꼈습니다. 물론 다수의 유저가 사용해서 트래픽이 몰리는 경우가 아닌 테스트 서버여서 그렇게 되었을 것이라고는 예상 됩니다.
    하지만 EU 쪽은 Asia 와 latency가 엄청나게 느리다는 말을 들어서요.

    추가 적인 질문이 있습니다. 이진석 님이 말씀하신 Read Replica 도 현재 고려 중입니다. 이때, Replication 을 구축 하더라도 INSERT, UPDATE 가 빈번히 일어나면 Master 가 Tokyo 존재하고 Slave 를 각 Region 별로 놔둘때에 대한 한계가 있는건가요?

  4. mysql 이라면 RDS 로는 한계가 있을 겁니다.
    read replica 는 말 그대로 read 만 가능한 관계로 insert/update 는 master 에 이루어지게 되니 클라이언트의 요청에 따라서 빠른 반응 보이는 경우와 느린 반응 보이는 경우가 발생할 거 같군요.
    차라리 각 region 별로 EC2 에 mysql 을 올리신 후, 유료 솔루션 사용하셔서 실시간 동기화 하는 것이 좋을 듯 합니다.
    제가 관리한 서버들 중에도 Oracle 이 각 region 에 있었고, OGG 사용해서 실시간 동기화를 했었습니다.

  5. 말씀하신건 안돼요 상용에선 레이턴시 폭증해서 장애나요; 테스트 하신 북미와 일본(한국)간은 망이 좋아요. 리전간 통신 비용도 있구요.

  6. 선택의 문제라고 봅니다.. 그 어떤 DB(Oracle 포함)도 동기화에서 latency를 넘어설 수는 없습니다. Write(Insert, Update, Delete, 등) Operation이 많아서 latency로 인해서 서비스 품질에 문제가 생긴다면 어쩔 수 없이 Region 별로 DB를 들고 갈 수 밖에 없을 것 같고, 서비스 특성에 따라 각 Region별 DB를 Async 동기화(이것 역시 latency를 고려해야 합니다)를 하던 일배치 동기화를 시키던지 방법을 강구해야 할 듯 싶습니다. DB 역시도 회원/인증 DB같은 경우는 latency가 발생한다고 하더라도 트랜잭션이 초기에 이루어지고 중요한 DB이기 때문에 한 Region의 DB에서 웬만하면 구축하는 것이 좋을 것이고, 데이터 DB는 Region 별로 두는 것도 방법이 될 수 있을 것입니다. 그 이상의 해결책은 저도 잘 모르겠네요 ^^;;; 말만 장황하게 쓰고 결국 별다른 대안이 없으니 ㅋ

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.