개념이 혼란스러워지는 이유는 공급 업체가 개념을 패키지로 판매하기 때문입니다. 그러나 그것들은 분명히 별개의 개념입니다.
API 게이트웨이는 공개적으로 노출 된 웹 서비스에 대한 액세스를 관리, 모니터링 및 보호하기위한 중앙 액세스 지점을 제공합니다. 또한 단일 호스트에서 온 것처럼 서로 다른 엔드 포인트에서 서비스를 통합 할 수 있습니다. 예를 들어 단일 "스위트"서비스의 일부인 10 개의 서로 다른 서비스 엔드 포인트가 있다고 가정 해 보겠습니다. 서비스 소비자에게 한 서비스에는 service1.yourcompany.com을, 다른 서비스에는 service2.yourcompany.com 등을 사용하도록 알리지 않고 대신 api.yourcompany.com/service1 또는 api.yourcompany.com을 가리킬 수 있습니다. / service2 및 게이트웨이는 요청을 적절한 엔드 포인트로 경로 재 지정합니다.
ESB는 응용 프로그램과 서비스가 서로 연결되지 않은 방식으로 서로 통신 할 수 있도록하는 내부 "버스"입니다. 모든 응용 프로그램은 버스에 연결될 수 있으며 다른 응용 프로그램에서 게시 할 때 관심있는 메시지를 수신 할 수 있습니다. 또한 다른 응용 프로그램이 수신하고 응답 할 수있는 자체 메시지를 게시 할 수도 있습니다. 응용 프로그램은 서로 직접 연결할 책임이 없으며 메시지를 버스에 게시하고 모든 관련 당사자가 듣고 반응합니다.
논리적으로 API Gateway는 ESB를 대체하는 것이 아니라 서비스 지향 아키텍처를 개선 한 것입니다.