我工作的公司正在评估一些中间件解决方案,以解决网络服务的治理,计量和安全问题。当前,我们正在为此目的使用企业服务总线(ESB),但是管理层中的一些帅哥决定他们将部署一些API管理中间件。
我对这些API管理(又称API网关)解决方案进行了一些研究,但找不到它们与实际ESB之间的区别。我评估了Mule,WSO2,Oracle等的一些白皮书,但是两种产品提供的功能似乎几乎相同。问题是,ESB无法做到的API管理能做什么,反之亦然?通过替换API网关的ESB,可以为IT基础架构增加什么价值?
我工作的公司正在评估一些中间件解决方案,以解决网络服务的治理,计量和安全问题。当前,我们正在为此目的使用企业服务总线(ESB),但是管理层中的一些帅哥决定他们将部署一些API管理中间件。
我对这些API管理(又称API网关)解决方案进行了一些研究,但找不到它们与实际ESB之间的区别。我评估了Mule,WSO2,Oracle等的一些白皮书,但是两种产品提供的功能似乎几乎相同。问题是,ESB无法做到的API管理能做什么,反之亦然?通过替换API网关的ESB,可以为IT基础架构增加什么价值?
Answers:
弄混概念的原因是供应商将它们打包出售。但是它们绝对是独立的概念。
API网关提供了一个中央访问点,用于管理,监视和保护对公开公开的Web服务的访问。它还将允许您跨不同的端点合并服务,就像它们全部来自单个主机一样。例如,假设您有十个不同的服务端点,它们都是单个“服务套件”的一部分。您可以让它们全部指向api.yourcompany.com/service1或api.yourcompany.com,而不是通知服务的消费者将service1.yourcompany.com用于一项服务,将service2.yourcompany.com用于另一项服务,等等。 / service2和网关将负责将请求重定向到适当的端点。
ESB是内部“总线”,它允许应用程序和服务以非耦合方式相互通信。所有应用程序都可以挂接到总线上,并且当其他应用程序发布它们时,它们可以接收任何感兴趣的消息。他们还可以发布自己的消息,其他应用程序可以侦听并响应它们。这些应用程序不负责彼此之间的直接连接,它们将消息发布到总线上,并且所有相关方都在监听并做出反应。
从逻辑上讲,API网关不是ESB的替代品,而是面向服务的体系结构的增强。