在讨论软件体系结构和集成时,您可雷竞技苹果下载官方版能会听到两个听起来很奇特的术语:蜜蜂和微服务.
这两个概念都是当今web应用程序开发和设计的核心,它们的使用肯定有重叠之处。但是,重要的是要认识到微服务和api之间的区别以及它们的应用方式。通过这种方式,您可以与开发人员进行更有成效的对话,并更好地理解您使用和销售的应用程序。
在本指南中,我们将首先定义API和微服务分别 - 他们所做的,以及它们的工作方式以及它们为什么重要。接下来,我们将看到API和MicroServices如何在现代软件生态系统中合适。雷竞技苹果下载官方版
什么是API?
一个应用程序接口或API是与其他应用程序通信的应用程序的一部分。在技术上说话,API是一组协议和方法,它定义了两个应用程序的共享和修改彼此的数据。
api在现代数字基础设施中是必要的,因为它们可以在功能和构造不同的应用程序之间实现标准化和高效的通信。
API位于软件的核心组件和公众之间,外部开发雷竞技苹果下载官方版者可以访问应用程序后端的某些部分,而不需要了解应用程序内部的一切是如何工作的接口为程序员。
api的用途是什么?
如果你使用软件,你使用雷竞技苹果下载官方版api。这是因为api支持软件集成——它们允许原本独立的软件实雷竞技苹果下载官方版体共享信息和一起工作。
想象你正在网上购物,准备结账。你可以看到你所在的商店提供了通过支付处理器PayNow进行支付的选项,而你已经在PayNow.com上拥有一个账户并设置了支付信息。多方便啊!
由于PayNow是您目前的商店的不同公司,因此API有助raybet电子竞技于商店和支付之间的互动。首先,商店使用Paynow的付款网关API来申请付款信息。接下来,PayNow API字段请求验证它,从客户数据库中获取信息,并将其发送回商店。最后,商店使用您的卡信息来完成交易。
感谢PayNow,您的商店获取所有信息,需要完成结账,而无需访问Paynow的私有数据库本身,并且无需您在商店网站上导航。
像这样的交换机几乎在两个单独的应用程序一起工作。其他一些现实世界的例子包括一个嵌入YouTube视频,一个旅游网站使用航空公司API来访问飞行时间和价格,使用谷歌和/或Facebook的API之一来允许的网站社交登录,以及一个导航应用程序,该应用程序可以访问公共交通系统的API,以获取实时交通数据。
休息API.
由于API更多的概念,程序员可以为其应用构建API,但请但是,最依赖于框架创建它们。
代表代表状态转移的休息是开发API的框架,符合休息的API称为REST API。REST API是用于跨平台集成的最常见类型的API,也用于MicroServices。
你可以读我们的REST API的完整指南有关此框架的详细说明。但是,要简要介绍:REST概述了一组建筑API的约束,使其有效和安全。通过攻击HTTP请求和返回响应来解决API工作JSON(JavaScript对象表示法)格式。HTTP(超文本传输协议)已经是基于Web的数据传输的标准协议。因此,随着HTTP的一些了解,开发人员可以轻松了解如何构建或与REST API进行交互。
外部与内部API
现在,全面披露:我谈到的API迄今为止是特定类型的API的所有实例称为aWeb API..Web API促进Web服务器之间的通信。我的例子也是全部开放api,这意味着它们可供任何人使用,包括第三方软件开发人员。雷竞技苹果下载官方版
但是,API不必公开可用。内部API.用于应用程序内的通信,并且访问通常仅限于组织的员工和授权开发人员。知道这一点,我们现在可以开始解压缩微服务。
什么是微服务?
微服务是一种软件体系结构风格,它将应用程序的不同功能划分为雷竞技苹果下载官方版更小的组件,称为“服务”。当应用程序以这种方式构建时,它被称为遵循microservice架构.
(注意:开发人员通常将这些较小的组件称为“微服务”本身。为了避免混淆,我在描述这些组件时坚持使用术语“服务”,在引用整个系统体系结构时坚持使用“微服务”。)
例如,像PayNow这样的应用程序的微服务架构可能包括个人服务,用于用户帐户管理,与在线商家的集成以及用户身份验证。每个服务都在较大系统中类似于自己的小软件。雷竞技苹果下载官方版
大型微服务中的每个服务只有一个任务,但这些任务的范围取决于应用程序的开发者。一个基本的软件应雷竞技苹果下载官方版用程序可能依赖于一些服务,PayNow就是这样。或者,在大型软件公司的情况下,一个应用程序可能包含雷竞技苹果下载官方版数百个具有高度特定功能的细粒度服务。
为什么要使用微服务架构?
要理解为什么微服务体系结构对软件开发人员有益,我们首先需要了解它的前身雷竞技苹果下载官方版庞然大物.
单片应用与微服务相反 - 而不是将不同的任务分配给不同的自包含服务,所应用程序的每个功能都由单个程序处理。
虽然开始以这种方式开始开发应用程序可能有意义 - 为什么要创建多个程序来担心?- 随着申请的能力和复杂性的增长,纪念碑的追随者将遇到问题。将应用程序的每个方面填充到一个程序中使得难以编程和发布更新,跟踪更改,识别问题,委派开发人员的任务,并且通常理解代码。
换句话说,巨石内部的一切都是如此紧密相连,以至于很难理清。这就产生了对一种新型体系结构的需求,因此出现了微服务。与单一的系统相比,微服务体系结构改进了:
- 更新:在MicroService应用程序中,更新各个服务不需要修改整个系统。这节省了时间,金钱和调试努力。它还使得滚动更新而不是罕见的主要更新。
- 简单:开发人员不需要理解整个系统架构来理解软件的一个方面。雷竞技苹果下载官方版
- 团队组织:微服务定义开发人员职责之间的界限。Devops团队可以分配给一个或多个微服务,而不是模糊巨合的一部分。
- 安全:如果一个服务受到损害,则它(理想情况下)不会显着影响任何其他服务。
- 鲁棒性:同样,如果一个服务突破,其他服务都没有受到伤害。
- 灵活性:如果团队希望以特定方式建立服务(例如,具有不同的语言或框架),他们不需要担心这可能会影响其他组件。
为了总结一切:通过分离职责,微服务加快并简化了软件开发过程。雷竞技苹果下载官方版
当然,一组孤立的模块对应用程序没有太大帮助,这就是为什么这些服务通过api链接在一起的原因——你猜对了——。
microServices与API.
在比较这些概念之前,让我们快速回顾一下:
- API是与其他应用程序通信的Web应用程序的一部分。软件雷竞技苹果下载官方版的API定义了一组可接受的请求,以便对API进行并响应这些请求。
- 微服务是一种构建应用程序的方法,它将应用程序的功能分解为模块化的、自包含的程序。微服务使得创建和维护软件更加容易。雷竞技苹果下载官方版
虽然不同的东西,微服务和API经常在一起,因为微服务中的服务使用API彼此通信.与应用程序使用公共API与不同应用程序集成类似,微服务的一个组件使用私有API访问同一微服务的不同组件。
在微服务中,每个服务都有自己的API,它决定了它可能接收的请求以及它如何响应。这些API通常遵循REST原理。以下是与内部API一起保持的基本微服务的视觉示例:
请注意,一个模块如何与第三方开发人员交互。在我们的示例中,此特定服务处理与其他应用程序的集成。因此,特定的API是公开的,而这种微惯性中的所有其他API都是私有的。
值得注意的是,没有两个微服务是相似的,并且所有两个微服务都是不同的。有些可能为一个服务分配多个API,或者使用单个API来访问多个服务。上面的可视化是帮助您掌握微服务和API的整体概念,但并非每个应用程序都遵循一对一的API - 服务配对。
最后,请记住API已超越微服务。正如我们所讨论的,Web API启用系统之间的数据共享,这对于许多Web应用程序都是必需的。此外,API可以在内部使用但没有微服务实现。
软件架构的未来(和现在)雷竞技苹果下载官方版
在过去的十年里,领先的软件公司——亚马逊、netflix和s雷竞技苹果下载官方版potify——都采用了微服务的方法。当然,它们的实现是有点复杂但是,潜在的原则是相同的:将应用程序的任务分解为软件子组件使一切都更简单,更高效,API将其全部绑在一起。雷竞技苹果下载官方版
如果您的组织正在创建或更新其软件基础架构,它有助于了解这些概念。雷竞技苹果下载官方版到这一天,API和微服务不仅仅是软件如何运作在一起,而是人们也如何协作。雷竞技苹果下载官方版
最初发布于2020年11月23日上午7:00:00,更新于2020年11月23日
话题:
应用程序编程接口(API)别忘了分享这篇文章!
相关文章
扩大提供
注册HubSpot的CMS软件雷竞技苹果下载官方版
现在得到它