将Azure API管理与微服务结合使用的好处

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:Mike Budzynski网络

小提示:您能找到这篇{将Azure API管理与微服务结合使用的好处}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的将Azure API管理与微服务结合使用的好处内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">IT行业正在经历从单一应用程序到基于微服务的体系结构的转变。这种新方法的好处包括:

< font-size: 16px;">独立开发和自由选择技术–开发人员可以同时处理不同的微服务,并为他们要解决的问题选择最佳技术。

< font-size: 16px;">独立的部署和发布周期–微服务可以按自己的时间表进行单独更新。

< font-size: 16px;">粒度扩展–单个微服务可以独立扩展,从而降低了总体成本并提高了可靠性。

< font-size: 16px;">简便性–较小的服务更易于理解,从而加快了产品的开发,测试,调试和发布的速度。

< font-size: 16px;">故障隔离–微服务的故障不必转化为其他服务的故障。

< font-size: 16px;">在此博客文章中,我们将探讨:

< font-size: 16px;">如何设计简化的在线商店系统以实现上述好处。

< font-size: 16px;">为什么以及如何在基于微服务的体系结构中管理面向公众的API。

< font-size: 16px;">如何开始使用Azure API管理和微服务。

< font-size: 16px;">示例:使用微服务实现的在线商店

< font-size: 16px;">让我们考虑一个简化的在线商店系统。网今日头条家具广告推广站的访问者需要能够查看产品的详细信息,下订单,查看下订单。

< font-size: 16px;">每当下订单时,系统都需要处理订单明细并发出运输请求。根据用户方案和业务需求,系统必须具有以下属性:



< font-size: 16px;">细粒度缩放-< font-size: 16px;">查看产品详细信息的频率平均比下订单至少高1000倍。

< font-size: 16px;">简便性–< font-size: 16px;">明确定义了独立的用户操作,这种分离需要反映在系统的体系结构中。

< font-size: 16px;">故障隔离–< font-size: 16px;">运输功能的故障不会影响查看产品或下订单。

< font-size: 16px;">他们暗示将通过三种微服务来实施该系统:

< font-size: 16px;">1、使用公共GET和POST API的订单-负责查看和下订单。

< font-size: 16px;">2、具有公共GET API的产品-负责查看产品的详细信息。

< font-size: 16px;">3、由事件在内部触发的装运–负责处理和装运订单。

< font-size: 16px;">为此,Azure将使用易于实现和管理的Azure功能。它们的事件驱动性质意味着它们将在交互上执行并为其付费。当商店流量不可预测时,此功能将非常有用。在没有流量的情况下,基础架构会缩减为零。在市场营销活动如病毒般传播或在购物假期(例如美国的黑色星期五)期间负载增加的情况下,它还可以提供大量流量。

< font-size: 16px;">为了保持缩放粒度,确保简单性并保持发布周期独立,每个微服务都应在单独的Function App中实现。

< font-size: 16px;">

< font-size: 16px;">在单个功能应用程序中实现微服务的流程图

< font-size: 16px;">订单和产品微服务是带有HTTP触发器的外部函数。运输微服务由订单微服务间接触发,该订单微服务在Azure Service Bus中创建一条消息。例如,当您订购商品时,网站会发出POST Order API调用来执行订购功能。接下来,您的订单在Azure Service Bus实例中作为消息排队,然后触发运送功能进行处理。

< font-size: 16px;">在基于微服务的架构中管理外部API通信的主要理由

< font-size: 16px;">所提出的体系结构具有一个基本问题,即处理来自外部的通信的方式。

< font-size: 16px;">客户端应用程序耦合到内部微服务。当您希望拆分,合并或重写微服务时,这尤其麻烦。

< font-size: 16px;">API不数字化营销的内容在同一域或IP地址下出现。

< font-size: 16px;">通用API规则无法轻松地跨微服务应用。

< font-size: 16px;">管理API更改和引入新版本很困难。

< font-size: 16px;">尽管Azure Functions代理提供了统一的API平面,但在其他情况下它们还是不足的。应该通过在Azure函数之前使用Azure API管理来解决这些限制,现在可以在无服务器的消费层中使用。

< font-size: 16px;">

< font-size: 16px;">流程图显示Azure API Managemnet到Azure Functions的前沿

< font-size: 16px;">API管理从其实现中抽象出API,并将它们托管在相同的域或静态IP地址下。它使您可以将客户端应用程序与内部微服务分离。Azure API管理中的所有API共享一个主机名和一个静态IP地址。您也可以分配自定义域。

< font-size: 16px;">使用APIManagement通过在Azure API Management中聚集API来确保API的安全,而不是直接公开您的微服务。这可以帮助您减少潜在攻击的表面积。您可以使用订阅密钥,JWT令牌,客户端证书或自定义标头来验证API请求。流量只能过滤到受信任的IP地址。

< font-size: 16px;">使用APIManagement,还可以在API上执行规则。您可以按API或按API操作全局定义传入请求和传出响应的API策略。几乎有50种策略,例如身份验证方法,限制,缓存和转换。通过访问我们的文档“API管理政策”了解更多信息。

< font-size: 16px;">API管理简化了不断变化的API。从设计阶段到引入新版本或修订版,您都可以在API的整个生命周期中进行管理。与修订版本相反,版本应包含重大更改,例如删除API操作或更改身份验证。

< font-size: 16px;">可以在使用API管理时监视API,在Azure API管理实例中查看使用情况指标,在Azure Application Insights中记录API调用以创建图表,监视实时流量并简化调试。

< font-size: 16px;">API管理使向外部开发人员发布API变得容易。Azure API管理提供了一个开发人员门户,该门户是一个自动生成的,完全可自定义的网站,访问者可以在其中发现API,学习如何使用它们,以交互方式试用它们,下载其OpenAPI规范并最终注册以获取API密钥。

< font-size: 16px;">如何通过微服务使用API管理

< font-size: 16px;">Azure API管理最近已在新的定例外女装价层中可用。通过按执行计费,消费层特别适合基于微服务的体系结构和事件驱动的系统。例如,对于我们假设的在线商店而言,这将是一个不错的选择。



< font-size: 16px;">对于更高级的系统,API管理的其他层提供了更丰富的功能集。

将Azure API管理与微服务结合使用的好处

上一篇:如何高效利用YouTube自我打造、拓展品牌影响力?
下一篇:lazada新商家入驻常见问题解答


版权声明:以上主题为“将Azure API管理与微服务结合使用的好处"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    将Azure API管理与微服务结合使用的好处
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“将Azure API管理与微服务结合使用的好处”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通将Azure API管理与微服务结合使用的好处的相关事宜。

关键词:将Azure,API管理与微服务结

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号