导入
API简介
了解应用程序编程接口(API)的作用,以及构成良好API的要素。
...
在咖啡馆点餐
...
连接计算机组件的接口
...
API通信与餐厅类比
...
两个软件组件之间接口的优势
API类型及其潜在用户与访问方式
| API类型 | 认证方式 | 潜在用户 | 示例 |
|---|---|---|---|
| 公开API | 公开访问,需API密钥 | B2C(企业对消费者) | Google地图、天气API |
| 私有API | 无需认证 | B2B(企业对企业)、B2C、B2E(企业对员工) | 教育平台用于创建课程的API |
| 合作伙伴API | 授权访问,使用访问令牌或许可证 | B2B、B2C | 亚马逊合作伙伴API |
| 复合API | 依赖于所连接API的认证方式 | B2B、B2C、B2E | 支付API(Stripe、PayPal) |
单体架构
单体架构是一种将应用程序的所有组件(如前端、后端、数据库及其他组件)都集成在一个代码库中的架构。整个应用作为一个整体进行开发、更新和部署。
| 优点 | 缺点 |
|---|---|
| 开发和部署简单,因为应用以单一可执行程序形式开发,部署时需管理的组件较少 | 难以扩展,因为所有组件紧密耦合;要进行修改,必须更新整个系统或应用 |
| 测试和维护简单,因为所有组件都集中在一起 | 更新后需要部署整个应用 |
| 安全性较高,数据在单一单元内处理,响应延迟低 | 存在规模和复杂性的限制 |
| 系统初始成本较低 | CI/CD(持续集成/持续部署)实现困难 |
| 开发资源成本较低 | 可靠性问题——某个环节出错可能导致整个应用崩溃 |
微服务架构
微服务是一种将应用拆分为多个小型服务的架构。这些服务通过定义好的协议相互通信,各自负责应用中较小的功能和数据。它们可以物理上分离,但通过协议连接。
| 优点 | 缺点 |
|---|---|
| 由于服务解耦,更容易管理大型应用 | 在服务、开发和网络方面成本较高 |
| 每个微服务可独立更新,开发和部署策略更灵活 | 因其分布式特性,管理更加复杂 |
| 可靠性高,单个服务故障不会导致整个应用崩溃 | 服务间通信可能使数据暴露于安全风险 |
| 比单体架构更容易实现CI/CD | 安全性低于单体架构 |
单体架构
单体架构是一种将应用程序的所有组件(如前端、后端、数据库及其他组件)都集成在一个代码库中的架构。整个应用作为一个整体进行开发、更新和部署。
| 优点 | 缺点 |
|---|---|
| 开发和部署简单,因为应用以单一可执行程序形式开发,部署时需管理的组件较少 | 难以扩展,因为所有组件紧密耦合;要进行修改,必须更新整个系统或应用 |
| 测试和维护简单,因为所有组件都集中在一起 | 更新后需要部署整个应用 |
| 安全性较高,数据在单一单元内处理,响应延迟低 | 存在规模和复杂性的限制 |
| 系统初始成本较低 | |
| 开发资源成本较低 | 可靠性问题——某个环节出错可能导致整个应用崩溃 |
微服务架构
微服务是一种将应用拆分为多个小型服务的架构。这些服务通过定义好的协议相互通信,各自负责应用中较小的功能和数据。它们可以物理上分离,但通过协议连接。
| 优点 | 缺点 |
|---|---|
| 由于服务解耦,更容易管理大型应用 | 在服务、开发和网络方面成本较高 |
| 每个微服务可独立更新,开发和部署策略更灵活 | 因其分布式特性,管理更加复杂 |
| 可靠性高,单个服务故障不会导致整个应用崩溃 | 服务间通信可能使数据暴露于安全风险 |
| 比单体架构更容易实现CI/CD | 安全性低于单体架构 |
...
API网关的作用
...
理解HTTP请求以识别端点
1.
What is the difference between an API and an endpoint?
0/500
2.
Which type of applications are more suited for microservice architecture?
0/500
测验