分享 | 对 电商API 平台的再思考
API 是推动现代企业数字化转型的基础。它不但连接了内部应用程序、合作伙伴和客户,同时也快速持续地向市场提供了各种新产品、版本和功能。
但当下还是以集中式的 API 交付为主。一个企业的对外 API 交付过程通常都是冗余而繁琐的,对企业内部的敏捷性、速度和效率都会产生不利的影响。
因此越来越多的企业,开始把目光转向 电商API 平台。利用 API 平台快速将生产者和消费者聚集到一起的特点,实现 API 交付的去中心化和民主化,以推动 API 交付的变革。
本文会介绍如何将平台思维应用于 API 交付,推动企业内部的敏捷性、速度和效率。
| 集中式 API 交付模式的痛点
API 对于现代企业越来越重要,但在大多数企业中,API 没能发挥应有的作用。全球知名的大型咨询公司麦肯锡(McKinsey)提到:
很多时候,企业没有做好准备,就匆忙去构建 API ,会出现许多问题,如系统混乱,冗余、维护不到位,透明度不高。这抵消了 API 可能带来的许多好处。而另外一些企业,花了数年时间去改造和替换原有的大型系统,一直以临时的方式添加 API ,实际也没有取得任何进展。
企业最初采用集中式 API 交付的模式,是为了集中数量少的、难以找到的 API 领域的精英。这种情况下,集中式 API 开发团队会根据 API 的整个生命周期,即从规范定义到开发再到部署和运营,负责端到端的 API 交付。但这种集中式 API 交付的模式存在一些问题:
-
首先,集中式的 API 交付可以视为一种垄断。消费者(如业务部门的开发者)没有其他选择,只能通过集中式 API 开发团队来获取 API 。
-
其次,集中式 API 交付团队无法快速响应敏捷团队的反馈。集中式 API 交付团队内部繁琐的流程,割裂了共享服务与 API 消费者之间的联系,两者的互惠互让本可以进一步推动创新。
-
最后,该模式下产出的 API 会越来越臃肿。企业出于实现治理或制定各种规则的需要,考虑更多的是 API 交付的成本、稳定性和可复用性,而不是迭代速度、敏捷性和灵活性。
显而易见,集中式的 API 交付模式 已经难以应对当下瞬息万变的技术、市场以及严格的消费者了。
平台思维因此也有了用武之地。多数情况下,平台是指公司和外部的生态系统。但是,平台这一关键概念也可以应用于公司内部,以创建企业级 API 平台。这类平台将从根本上改变 API 的交付。
| 平台创造了更具价值的生态系统
平台创造的生态系统包含3个参与角色:创建产品的生产者,购买产品的消费者,提供基础设施和安全性保障的平台方。在平台中,生产者和消费者都能更轻松找到对方,并更有效地进行互动和交易。
平台有几个优势:
-
选择。通过托管多个生产者,平台让客户可以在不同产品之间进行选择;
-
竞争。多个生产者带来竞争,可以产生更好的产品;
-
网络效应。良性的循环可以产生网络效应,更多消费者会聚集到有更多生产者的平台,更多的生产者也会聚集到有更多消费者的平台;
-
安全性。平台制定规则和进行治理,从而使生产者和消费者可以安全可靠地进行互动和交易。
可以说平台改变了整个行业的商业模式,像优步(Uber)和爱彼迎(AriBnB)就是这种模式的先行者,也因此占据了不同领域的更多市场份额。
| 企业 API 平台改变了 API 交付的模式
了解了平台的优势后,让我们回到企业 API 平台。
顾名思义,企业 API 平台就是旨在提供 API 的企业平台。对应的参与角色中,生产者负责产出 API ;消费者使用 API ,API 平台则提供基础设施和规则,让生产者和消费者互动,最终交付 API 。
那么当企业 API 平台取代集中式 API 交付模式后,会带来哪些变化以及带来哪些好处?
-
首先,企业 API 平台破除了垄断,更容易满足消费者的特定需求。集中式 API 交付导致的垄断情况,被众多生产者取代,消费者更容易找到心仪的 API 。
-
其次,更多的选择也带来了生产者之间的竞争。生产者会不停优化 API ,使得消费者有更好的使用体验。
-
另外,企业 API 平台的反馈机制有天然的优势。企业 API 平台通过提供互动功能如点赞和留言等,把繁琐的集中式 API 交付模式互动机制,替换为充满活力的反馈机制,有助于创新。
-
最后,企业 API 平台可以提高 API 交付的效率和有效性。企业 API 平台通过保障生产者和消费者的互动及交易,可以加速推动 API 标准的确立(如Open API规范和标准)和解决常见的企业问题(安全性、可用性),通过明确的协议、执行(通用组件)和自动化的 DevOps 流程,提高 API 交付的效率和效果。
企业 API 平台真正改变了 API 交付的模式,提供了一种令人眼前一亮,且有效实用的替代方案。
| 结语
企业 API 平台的真正优势,在于它为企业提供了推动当今市场所需的创新、速度和敏捷性的自由环境。企业 API 平台让 API 交付不再被垄断,任何企业都能根据自己的项目、业务来获取合适的 API。集中式 API 交付模式的时代已经过去了,企业级 API 平台会是一个更加优秀的提效方案。
相关文章:

分享 | 对 电商API 平台的再思考
API 是推动现代企业数字化转型的基础。它不但连接了内部应用程序、合作伙伴和客户,同时也快速持续地向市场提供了各种新产品、版本和功能。 但当下还是以集中式的 API 交付为主。一个企业的对外 API 交付过程通常都是冗余而繁琐的,对企业内部的敏捷性、速…...

C语言--程序环境和预处理
前言 本章就是c语言的最后一个板块了,学完这章节,我们将知道写出的代码如何变成可执行程序的,这是非常重要的一个章节,那让我们一起进入本章的学习吧。 本章重点: 程序的翻译环境程序的执行环境详解:C语言程…...
深度学习笔记_5 经典卷积神经网络LeNet-5 解决MNIST数据集
1、定义LeNet-5模型,包括卷积层和全连接层。 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms# 导入必要的库# 定义 LeNet-5 模型 class LeNet5(nn.Module):def __init__(self):super(LeNet5, self…...

国内智能客服机器人都有哪些?
随着人工智能技术的不断发展,智能客服机器人已经成为了企业客户服务的重要工具。国内的智能客服机器人市场也迎来了飞速发展,越来越多的企业开始采用智能客服机器人来提升客户服务效率和质量。 在这篇文章中,我将详细介绍国内知名的智能客服机…...

Matlab/C++源码实现RGB通道与HSV通道的转换(效果对比Halcon)
HSV通道的含义 HSV通道是指图像处理中的一种颜色模型,它由色调(Hue)、饱和度(Saturation)和明度(Value)三个通道组成。色调表示颜色的种类,饱和度表示颜色的纯度或鲜艳程度…...

【C进阶】动态内存管理
一、为什么存在动态内存分配 我们之前学的都是开辟固定大小的空间,但有时候需要空间的大小只有在程序运行时才能知道,那么就引入了动态内存开辟 内存分布所在: 二、动态内存函数的介绍 2.1malloc和free 动态内存开辟的函数 void * malloc…...
神经网络的梯度优化方法
神经网络的梯度优化是深度学习中至关重要的一部分,它有助于训练神经网络以拟合数据。下面将介绍几种常见的梯度优化方法,包括它们的特点、优缺点以及原理。 梯度下降法 (Gradient Descent): 特点: 梯度下降是最基本的优化算法,它试图通过迭代…...

linux 装机教程(自用备忘)
文章目录 安装 pyenv 管理多版本 python 环境安装使用使用 pyenv 和 virtualenv 管理虚拟 python 环境 vscode 连接远程服务器tmux 美化zsh 安装 pyenv 管理多版本 python 环境 安装 (教程参考:https://www.modb.pro/db/155036) sudo apt-…...

Tensorboard安装及简单使用
Tensorboard 1. tensorboard 简单介绍2. 安装必备环境3. Tensorboard安装4. 可视化命令 1. tensorboard 简单介绍 TensorBoard是一个可视化的模块,该模块功能强大,可用于深度学习网络模型训练查看模型结构和训练效果(预测结果、网络模型结构…...

SpringCloud 微服务全栈体系(二)
第三章 Eureka 注册中心 假如我们的服务提供者 user-service 部署了多个实例,如图: 思考几个问题: order-service 在发起远程调用的时候,该如何得知 user-service 实例的 ip 地址和端口?有多个 user-service 实例地址…...
flutter 常用组件:列表ListView
文章目录 总结#1、通过构造方法直接构建 ListView 提供了一个默认构造函数 ListView,我们可以通过设置它的 children 参数,很方便地将所有的子 Widget 包含到 ListView 中。 不过,这种创建方式要求提前将所有子 Widget 一次性创建好,而不是等到它们真正在屏幕上需要显示时才…...

十四天学会C++之第七天:STL(标准模板库)
1. STL容器 什么是STL容器,为什么使用它们。向量(vector):使用向量存储数据。列表(list):使用列表实现双向链表。映射(map):使用映射实现键值对存储。 什么…...
Linux 下安装 miniconda,管理 Python 多环境
安装 miniconda 1、下载安装包 Miniconda3-py37_22.11.1-1-Linux-x86_64.sh,或者自行选择版本 2、把安装包上传到服务器上,这里放在 /home/software 3、安装 bash Miniconda3-py37_22.11.1-1-Linux-x86_64.sh 4、按回车 Welcome to Miniconda3 py37…...

Django和jQuery,实现Ajax表格数据分页展示
1.需求描述 当存在重新请求接口才能返回数据的功能时,若页面的内容很长,每次点击一个功能,页面又回到了顶部,对于用户的体验感不太友好,我们希望当用户点击这类的功能时,能直接加载到数据,请求…...

k8s认证
1. 证书介绍 服务端保留公钥和私钥,客户端使用root CA认证服务端的公钥 一共有多少证书: *Etcd: Etcd对外提供服务,要有一套etcd server证书Etcd各节点之间进行通信,要有一套etcd peer证书Kube-APIserver访问Etcd&a…...

基于python开发的IP修改工具
工作中调试设备需要经常修改电脑IP,非常麻烦,这里使用Pythontkinter做了一个IP修改工具 说明: 1.启动程序读取config.json文件2.如果没有该文件则创建,写入当前网卡信息3.通过配置信息进行网卡状态修改4.更新文件状态,删除或修…...

Mybatis源码分析
1. Mybatis整体三层设计 SSM中,Spring、SpringMVC已经在前面文章源码分析总结过了,Mybatis源码相对Spring和SpringMVC而言是的简单的,只有一个项目,项目下分了很多包。从宏观上了解Mybatis的整体框架分为三层,分别是基…...

python树结构包treelib入门及其计算应用
树是计算机科学中重要的数据结构。例如决策树等机器学习算法设计、文件系统索引等。创建treelib包是为了在Python中提供树数据结构的有效实现。 Treelib的主要特点包括: 节点搜索的高效操作。支持常见的树操作,如遍历、插入、删除、节点移动、浅/深复制…...

Rust之自动化测试(三): 测试组合
开发环境 Windows 10Rust 1.73.0 VS Code 1.83.1 项目工程 这里继续沿用上次工程rust-demo 测试组合 正如本章开始时提到的,测试是一个复杂的学科,不同的人使用不同的术语和组织。Rust社区根据两个主要类别来考虑测试:单元测试和集成测试。单元测试很…...

专业管理菜单的增删改、查重
1,点击专业管理菜单------查询所有专业信息列表 ①点击菜单,切换专业组件 ②切换到列表组件后,向后端发送请求到Servlet ③调用DAO层,查询数据库(sql),封装查询到的内容 ④从后端向前端做出…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...