2017-11-29 20 views
0

REST API를 제공해야하는 서버를 구현하려고합니다. 시간이 갈수록 그 시간의 필요에 따라 새로운 REST API를 추가해야 할 수도 있습니다. 새 API를 추가하고 서버에 응용 프로그램을 재배포 할 수있는 간단한 REST API 서비스로이 작업을 수행 할 수 있습니다.서버를 다시 시작하지 않고 나머지 api를 추가 할 수 있습니까?

하지만 서버를 중지하지 않고도 필요할 때마다 서버에 API를 추가 할 수 있다면 좋을 것입니다. 심지어 가능할까요?

이 주제에 대한 의견을 보내 주시면 감사하겠습니다.

+0

은 아마 당신은 고려할 수 아마존의 [람다 (http://docs.aws.amazon.com/lambda/latest/dg/welcome.html) – Andy

+0

감사합니다,하지만 AWS 람다 이외의? – Gurubg

+0

어딘가에서 읽은 API는 Python 스크립트로 작성한 다음 서버에 추가 할 수 있습니다. 또한 봄 애플리케이션과 함께 Tomcat 서버에 추가 할 수 있습니다. 그러나 그게 좋은 생각입니까? – Gurubg

답변

0

Spring에 익숙하지 않지만 확실히 REST API는 Python으로 작성 될 수 있으며 실행이 다른 HTTP 서버와 마찬가지로 Tomcat을 통해 제공 될 수 있습니다.

질문은 서버를 다시 시작하지 않으시겠습니까? 그것은 당신이 다운 타임을 두려워하고 어떤 요청에 빠져 있기 때문입니까?

그래서 아마 당신은 (쉽게 설명하자면에 배치)이 두 가지 전략 중 하나를 채택 할 수 있다면 :

  1. Load Balancing : 당신은 일반적인 HTTP 서버 뒤에 클러스터에서 실행 2+ 서버가 (의이 말을하자 , B, C 및 D) : 오프라인 A와 B를 가져 와서 업데이트하고 오프라인 C와 D를 가져와 온라인 상태로 되돌리고 업데이트 한 다음 다시 온라인 상태로 만듭니다.

  2. Blue/Green : 이전 클러스터와 비슷하지만 2 클러스터 (활성 클러스터 하나와 유휴 클러스터 - 클러스터 당 서버 1 개만 중요 함, 중요하지 않음) : 유휴 클러스터를 업데이트하고 현재 활성 클러스터로 교체 즉 HTTP 서버를 사용하여 하나에서 다른 모든 트래픽을 채널링합니다.

+0

네, 가동 중단 시간과 전체 코드를 컴파일하고, 테스트하여 앱을 서버에 푸시하는 프로세스입니다. 그것의 절대적으로 할 수있는, 나는 그것이 서버가 유지되는 방법 이다을 추측한다. 많은 번거 로움없이 런타임 중에 새로운 API를 추가 할 수 있는지 알고 싶었습니다. 특히 새 API에 대한 요청이 자주 발생하는 경우. – Gurubg