加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

云处事OpenAPI的7大挑衅,架构师怎样应对?

发布时间:2019-10-18 16:01:34 所属栏目:移动互联 来源:虚明
导读:API 是模块可能子体系之间交互的接口界说。好的体系架构离不开好的 API 计划,而一个计划不足完美的 API 则注定会导致体系的后续成长和维护很是坚苦。较量好的API计划样板可以参考 github 和 k8s ,它们都是典范的RESTful接口。云处事对外开放的窗口就是Op
副问题[/!--empirenews.page--]

云处事OpenAPI的7大挑衅,架构师怎样应对?

API 是模块可能子体系之间交互的接口界说。好的体系架构离不开好的 API 计划,而一个计划不足完美的 API 则注定会导致体系的后续成长和维护很是坚苦。较量好的API计划样板可以参考 github 和 k8s ,它们都是典范的RESTful接口。云处事对外开放的窗口就是OpenAPI,本日要接头的话题是“云处事场景下OpenAPI计划的挑衅”。

为什么要有API类型

之以是夸大“云处事”的缘故起因在于,小局限独立API的计划与大局限批量出产API面对的题目是纷歧样的。同样,只专注于自身产物API的可用性与从更高的条理去看云处事整体API系统的结实性,要建树的系统也是纷歧样的。

譬喻,做一个WEB页面行使的API,只必要思量机能、不变性、鉴权就好,由于页面与API是一体的,可以一路宣布和回滚,只要成果正常,即便API计划有缺陷,用户也可以接管。而云处事要开放API思量题目就多了:

  • 起首,云处事开放的是基本办法和处事接口,一样平常是体系级的对接,API一旦开放想要改观就很是坚苦;
  • 其次,云处事并非单独运行,差异的产物现实场景中是相互组合的,需思量产物间的同等性和互通便利性;
  • 云处事API数目复杂,为了更利便行使,配套的API查找、编排、自动化天生SDK等需求也比平凡处事凶猛;
  • 云处事的不变性很是重要,焦点产物的不变性就是客户的生命线,要求很是高。

以是云处事因为产物线浩瀚,必要同一的API类型来担保云产物间API体验同等,在底层平台层面相互兼容,便于上层应用平台化,同时要分身到环绕公有云处事的第三方生态、开源生态、企业生态。

在详细类型层面,业界也在不绝实行,较量知名的是OpenAPI Specfication和 Google API Design Guide。前者针对RESTful API计划在细节层面给出了很是详细的划定,已经成为RESTful API计划规模的究竟尺度,尔后者则首要从云厂商的角度提出很多最佳实践性子的类型与提议,这些原则不只仅合用于RESTful API,也得当其他范例API计划。对API计划感乐趣的开拓者,可以具体研究一下资料。

云处事OpenAPI的7大挑衅,架构师怎样应对?

2018年Openapi Specification宣布了3.0版本

图片来历:https://swagger.io/

因此,对付云处事商来说,在要害环控拟定明晰的API类型有助于云处事对内进步产物间互通的服从,对外提供同等的行使体验,有助于云处事更好地被集成。那么要做好云处事的横向类型会遇到哪些坚苦呢?本文就从实践中总结了7大挑衅。

挑衅1:选择API计划模式

当你在思量单个产物的API示意情势时,起首会选择一种详细的API气魄沤背同常见的有RPC(Remote Procedure Call)和ROA(the Rest-Oriented Architecture)两种模式,然后针对伟大的数据布局你会思量行使什么样的序列化协议,常见的包罗Json/Xml/WSDL/Hessian等,用于封装传输数据。但涉及到差异的产物时,在详细选型时思量的题目也许就不太一样了。

云处事OpenAPI的7大挑衅,架构师怎样应对?

gRPC表示图

图片来历:https://www.grpc.io/docs/guides/

固然RESTful计划气魄威风凛凛曝光率很高,但并不是全部云处事商都选择了完全遵循RESTful,譬喻AWS和阿里云RPC气魄威风凛凛反而占了大大都,Google和Azure则RESTful居多。

Restful API的上风是HTTP具备更好的易用性,让异构体系更轻易集成,且开拓执行服从较量高,面向资源要求也较量高。而RPC API可以行使更普及的框架和方案,技能层面更底层也更为机动,计划起来相对简朴,把握起来有必然门槛,架构上越发伟大。

云处事OpenAPI的7大挑衅,架构师怎样应对?

RESTful与RPC模式比拟

差异的团队按照现实环境和营业形态也许选择差异的方案,那云处事作为一个整体应该逼迫同一好照旧随意选择好?假如逼迫同一气魄沤背同有些得当RESTful气魄威风凛凛的处事非要行使RPC的话,看起来就会较量丑恶,假如只是一个进程化的处事挪用,往RESTful资源化计划偏向去靠会较量坚苦。但假如不逼迫行使同一气魄沤背同会造成针对API的系统化支持会越发伟大,譬喻为兼容两种气魄威风凛凛SDK的自动化支持必要两套代码。

凡是RESTful气魄威风凛凛对API计划者的要求是较量高的,首要的难点在于面向资源计划要求开拓者事先做好筹划,将后端数据模子与API处事模子相匹配。以是RESTful API的开拓者应该是熟知体系整体实体相关模子的,很难想象一个不懂靠山营业的新手能计划出公道的API来。那么是不是RPC气魄威风凛凛API就不必要面向资源计划了呢?从实践中来看,并不是!RPC气魄威风凛凛的API也必要资源模子来支持,在下一节中会重点说明。

以是,对付云处事商来说,选择API气魄威风凛凛时要思量几个题目:

  • 选择支持哪种气魄沤背同才气更好地浮现营业特征,让客户操纵起来越发利便;
  • 计划API时可否面向资源计划,响应的工程职员是否具备做这种计划的手段;
  • 针对这种气魄威风凛凛器材链的支持是否到位,投入产出好比何;
  • 业界风行的趋势怎样,是否必要思量与其他体系系统的互操纵。

选定了详细计划模式后,就要全力做到同一,停止多种模式稠浊带来打点本钱的上升。假如确实有须要两种方法都支持(譬喻阿里云就同时支持RPC和ROA),就必要在技能上做好充实的筹备。

挑衅2:面向资源计划API

用户行使API来会见云处事,本质上是想通过对某种云资源执行特定的操纵来完成一个营业举措。Restful API必要面向资源计划众所周知,那为什么RPC接口在云处事场景下也必要有资源模子呢?

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读