Mule API - 部署到Mule运行时

时间:2015-07-14 07:17:37

标签: api mule

这些天我正在尝试使用Mule API管理。我所知道的是我们可以将API部署到其中一个:

  1. 骡子运行时
  2. API网关
  3. documentation中,当我们希望从业务流程中分离出API的实现时,我们应该使用选项1 。这是什么意思?

    任何人都可以详细解释一下吗?

3 个答案:

答案 0 :(得分:2)

API平台和分析生成的策略管理可以通过使用正确配置的API网关来实现,这是Mule EE的超集(当前版本是API Gateway 2.1.0,其中包含Mule EE 3.7.2)。

根据您的架构,您可能有不同的解决方案。

例如:

  • 在API网关上运行的代理,在某处运行的实现API else(例如Mule EE / CE,Tomcat,cobol服务器等)
  • 在同一API网关上运行的代理和实施API
  • 实施API 直接从API平台管理而不使用自动生成 代理。

HTH: - )

答案 1 :(得分:1)

不完全确定它们的含义,因为在此页面上:https://developer.mulesoft.com/docs/display/current/API+Gateway他们也提到了这一点:

  

请注意API网关,因为它充当业务流程层   对于其他地方实施的服务和API,与技术无关。   您可以代理任何类型的非Mule服务或API,只要它们   公开HTTP / HTTPS,VM,Jetty或APIkit路由器端点。 你也可以   您使用API​​ Designer和AP​​Ikit设计和构建的代理API   用于将业务流程与实现分开的API网关   那些API

因此,这两种方法在技术上允许您将API与业务流程分开,因为您的API网关应用程序可以简单地在执行业务流程的其他地方代理另一个Mule应用程序。但我对这两个选项的理解是:

API网关是一个有限的产品,允许您使用Mule的连接器,传输和模块(如ApiKit和HTTP)的子集,它允许您公开和API然后使用http连接到任何后端系统您希望作为代理并在API层中执行编排。

通过使用Mule运行时操作,它为您提供了更大的灵活性,并允许您使用全系列连接器等组合任意数量的应用程序,并将应用程序的不同方面分离为与您一样多的层想要作为可以部署到内部部署独立实例或Cloudhub等的可单独部署的实体。

答案 2 :(得分:0)

@Ryan的答案或多或少都在标记上,但是如果你选择了Mule ESB产品,你将会失去API网关提供OOTB的API管理和治理功能。

这些包括

  • 允许您实施运行时策略并收集分析数据

  • 将API或端点的策略应用于安全性,限制,
    限速等等

  • 将PingFederate扩展为身份管理和OAuth API的提供者

  • 让您通过几个简单的步骤来要求或限制某些行为

  • 允许您在运行时添加或删除策略而不会停止API停机

  • 通过签发合同密钥来管理对API的访问

  • 监控API以确认其符合所有合同条款

  • 确保符合服务水平协议(SLA)

在我看来,如果你的API将被我的第三方开发者用于你可能没有太多的交互(想想公共API),那么请使用API​​网关/管理器,否则Mule ESB应该是好的。

如果需要,您应该能够轻松地从Mule ESB迁移到API Manager(反之亦然),因此我认为您不会被锁定在您的决定中

PS:从here

复制的内容