API Response 헤더가 추가되었습니다. 일상이야기 | Posted on 2020. 1. 8. 14:12
api.manana.kr 의 리턴 정보에 리전 정보를 추가하였습니다.
현재 서울 리전만 테스트용으로 적용되어있고, 나머지 리전은 새벽 4시에 일괄 적용 예정입니다.
( 소스코드 자동 업데이트가 그때 이루어져서;; )
Response Header 에 리턴되기 때문에, 활용하실분은 소스코드의 변경이 필요합니다.
( 할 사람이 없을거 같기는 하지만.. )
그래서 저 정보를 활용하면, API 가 호출될때마다 어플리케이션의 사용자 분들이 어디쪽에서 호출하는지 대충 어림짐작이 가능하게 될겁니다.
( IP를 활용해서 국가 정보 체크하는거보다는 신뢰도가 있지 않을까 생각을.. )
현재 Route53 설정이 사용중인 각 리전중에서 속도가 가장 빠른 리전으로 리턴하고 있기 때문에, 어느정도 참고자료는 될거라 생각됩니다.
ps. 본래 Region 이라고 리턴을 할까, prefix 를 달아서, Manana-Region 으로 리턴할까 고민하다가..
prefix 가 있는게 좋을거 같아서, prefix 로 추가하였습니다.
이것외에 필요한 정보가 있다면 요청시 리턴 가능합니다.
( 저거 말고는 없을거 같은데.. )
ps2. AWS Lightsail 에서 Vultr 로 이전이 진행중입니다.
일단 과거 이야기한대로 서울 리전은 AWS에 그대로 남길거고..
Vultr Tokyo 리전을 테스트 해봤는데, 상당히 괜찮아서 오레곤과 프랑크 프루트를 AWS Lightsail 에서 제거하고, Vultr 에 위의 이미지와 같이 추가하였습니다.
그래서 아시아는 서울 리전이 메인이고, 서울 리전이 모종의 이유로 죽으면, 서버 응답이 죽고난 30분 ~ 1시간뒤에 도쿄나 싱가포르리전에서 응답을 보내게 됩니다.
( 일단 이론상은 상태확인 30초당 1회 3번 실패에 변경되는데 여기서 1분 30초 소요, 그리고 DNS가 현재 1분마다 갱신이라, 최단시간 2분 30초인데, DNS 변경이 좀 오래 걸리는거 다들 아실테니.. 대충 30분간의 먹통이 예상됩니다. )
만약 메인 DB가 죽으면 insert update delete 가 죽은 상태로 버티게 됩니다.
그리고 AWS Lightsail 이 죽거나 Vultr 가 죽어도, 다른 서비스가 살아있으면 그걸로 버티게 됩니다.
( 과거의 사건처럼 Route53 죽으면 사이트 전체가 죽습니다. )
아시아의 경우 서울과 도쿄 그리고 싱가포르로 한국 리전에서만 서비스 하던 애들을 도쿄와 싱가포르에도 동일하게 추가하였습니다.
서울 리전 한정 서비스도, 서울 리전이 죽어도 도쿄와 싱가포르가 살아있으면 사용이 가능합니다.
미국은 실리콘밸리와 NY(NJ) 가 있어서, 동부와 서부에 하나씩 돌아가고 있습니다.
( 이쪽도 한쪽이 죽으면 다른 한쪽이 커버합니다. 미국이 다 죽으면 도쿄와 유럽쪽 리전에서 힘내야.. )
유럽은 현재 프랑크푸르트만 돌아가고 있습니다.
파리의 경우 현재 Let's Encrypt가 리밋에 걸려서 대기상태입니다.
아마 다음주 중에 추가 할 예정입니다.
그래서 유럽도 독일과 프랑스에서 버티는 형식이 됩니다.
( 런던과 프랑스 고민하다가 프랑스 선택했는데, 전송속도가 너무 느려서 런던으로 바꿀지도.. )
다음주중에 프랑스와 서울리전 작업을 완료하면 당분간 서버는 걱정이 없겠네요.
그보다 갑자기 메인 DB가 미친듯이 잘 버티고 있어서;;
메인 DB 그냥 AWS Lightsail 에 둘지도;;
( 근데 많이 불안불안;; 원래 잘 죽던애라;; )