[용어 정리] API Gateway
[용어 정리] API Gateway 마이크로 소프트 아키텍처 의 이어지는 포스트 우리가 많이 사용하는 검색 포털 사이트의 메인 화면 사용자 서비스 뉴스 서비스 실시간 급상승 검색어 서비스 광고 서비스 날씨 서비스 사용자는 메인 페이지를 보기 위해서 하나의 URL을 통해 서버에 요청을 보내지만 실제 사용자가 보게 도는 화면에는 다양한 종류의 서비스 결과가 있다. 만약 모놀리틱 아키텍처 를 이용해서 이와 같은 요청을 처리하는 애플리케이션을 구현한다면 실제 요청이 도착하여 결과를 반환하기까지 서버는 다양한 종류의 쿼리를 DB에 보내게 됨 이러한 방식은 애플리케이션 아키텍처 간단하다는 장점이 있지만 특정 서비스에 변경이 있을 경우 이 서비스를 포함하고 있는 모든 코드를 찾아서 수정해줘야 해야함... 귀찮.. 만약 마이크로 소프트 아키텍처 로 진행하면 요청에서 필요한 각 영역을 담당하여 처리함 이론적으로 가능할지 몰라도 이를 실제로 구현하다 보면 몇가지 어려움이 있음 클라이언트가 모든 마크로 서비스의 호스트명은 물론 end_point를 알고 있어여 함 즉, 마이크로 서비스가 추가되거나 호스트정보가 변경되면 클라이언트가 가지고 있는 정보 역시 함께 수정해줘야 함 모든 마이크로 서비스의 주소를 저장해 두어야 하며, 요청을 보낼 때마다 해당 요청이 어떤 서비스에 보내는 것인지를 명시해 주어야 하기 때문에 소스 코드가 복잡해짐 모든 마이크로 서비스가 웹 통신에 적합한 프로토콜로 통신하지 않음 일부 서비스들은 서비스 자체가 가지는 특성에 따라 더 알맞는 프로토콜을 사용함 ex) 알림을 보내주는 서비스는 메시지 큐와 같은 프로토콜을 사용 두 개 이상의 마이크로 서비스가 통합되거나 하나의 마이크로 서비스가 두 개 이상으로 분리되는 경우 여기에 맞추어 코드를 수정하는것이 어려움 API GATE...