标签

 api 

相关的文章:

Tony Bai -

通过实例理解API网关的主要功能特性

本文永久链接 – https://tonybai.com/2023/12/03/understand-api-gateway-main-functional-features-by-example 在当今的技术领域中,“下云”的概念正逐渐抬头,像David Heinemeier Hansson(37signals公司的联合创始人, Ruby on Rails的Creator)就直接将公司所有的业务都从公有云搬迁到了自建的数据中心中。虽说大多数企业不会这么“极端”,但随着企业对云原生架构采用的广泛与深入,不可避免地面临着对云服务的依赖。云服务在过去的几年中被广泛应用于构建灵活、可扩展的应用程序和基础设施,为企业提供了许多便利和创新机会。然而,随着业务规模的增长和数据量的增加,云服务的成本也随之上升。企业开始意识到,对云服务的依赖已经成为一个值得重新评估的议题。云服务的开销可能占据了企业可用的预算的相当大部分。为了保持竞争力并更好地控制成本,企业需要寻找方法来减少对云服务的依赖,寻找更经济的解决方案,同时确保仍能获得所需的性能、安全性和可扩展性。 在这样的背景下,我们的关注点是选择一款适宜的API网关,从主流功能特性的角度来评估候选者的支持。API网关作为现代云原生应用架构中的关键组件,扮演着连接前端应用和后端服务的中间层,负责管理、控制和保护API的访问。它的功能特性对于确保API的安全性、可靠性和可扩展性至关重要。 尽管API网关并不是一个新鲜事物了,但对于那些长期依赖于云供应商的服务的人来说,它似乎变得有些“陌生”。因此,本文旨在帮助我们重新理解API网关的主要特性,并获得对API网关选型的能力,以便在停止使用云供应商服务之前,找到一个合适的替代品^_^。 1. API网关回顾 API网关是现代应用架构中的关键组件之一,它的存在简化了应用程序的架构,并为客户端提供一个单一的访问入口,并进行相关的控制、优化和管理。API网关可以帮助企业实现微服务架构、提高系统的可扩展性和安全性,并提供更好的开发者体验和用户体验。 1.1 API网关的演化 随着互联网的快速发展和企业对API的需求不断增长,API网关作为一种关键的中间层技术逐渐崭露头角并经历了一系列的演进和发展。这里将API网关的演进历史粗略分为以下几个阶段: API网关之前的早期阶段 在互联网发展的早期阶段,大多数应用程序都是以单体应用的形式存在。后来随着应用规模的扩大和业务复杂性的增加,单体应用的架构变得不够灵活和可扩展,面向服务架构(Service-Oriented Architecture,SOA)逐渐兴起,企业开始将应用程序拆分成一组独立的服务。这个时期,每个服务都是独立对外暴露API,客户端也是通过这些API直接访问服务,但这会导致一些安全性、运维和扩展性的问题。之后,企业也开始意识到需要一种中间层来管理和控制这种客户端到服务的通信行为,并确保服务的可靠性和安全性,于是开始有了API网关的概念。 API网关的兴起 早期的API网关,其主要功能就是单纯的路由和转发。API网关将请求从客户端转发到后端服务,并将后端服务的响应返回给客户端。在这个阶段,API网关的功能非常简单,主要用于解决客户端和后端服务之间的通信问题。 API网关的成熟 随着微服务架构的兴起和API应用的不断发展,企业开始将应用程序进一步拆分成更小的、独立部署的微服务。每个对外暴露的微服务都有自己的API,并通过API网关进行统一管理和访问。API网关在微服务架构中的作用变得更加重要,它的功能也逐渐丰富起来了。 在这一阶段,它不仅负责路由和转发请求,API网关还增加了安全和治理的功能,可以满足几个不同领域的微服务需求。比如:API网关可以通过身份认证、授权、访问控制等功能来保护API的安全;通过基于重试、超时、熔断的容错机制等来对API的访问进行治理;通过日志记录、基于指标收集以及Tracing等对API的访问进行观测与监控;支持实时的服务发现等。 API网关(图来自网络) API网关的云原生化 随着云原生技术的发展,如容器化和服务网格(Service Mesh)等,API网关也在不断演进和适应新的环境。在云原生环境中,API网关实现了与容器编排系统(如Kubernetes)和服务网格集成,其自身也可以作为一个云原生服务来部署,以实现更高的可伸缩性、弹性和自动化。同时,新的技术和标准也不断涌现,如GraphQL和gRPC等,API网关也增加了对这些新技术的集成和支持。 1.2 API网关的主要功能特性 从上面的演化历史我们看到:API网关的演进使其从最初简单的请求转发角色,逐渐成为整个API管理和微服务架构中的关键组件。它不仅扮演着API管理层与后端服务层之间的适配器,也是云原生架构中不可或缺的基础设施,使微服务管理更加智能化和自动化。下面是现代API网关承担的主要功能特性,我们后续也会基于这些特性进行示例说明: 请求转发和路由 身份认证和授权 流量控制和限速 高可用与容错处理 监控和可观测性 2. 那些主流的API网关 下面是来自CNCF Landscape中的主流API网关集合(截至2023.11月),图中展示了关于各个网关的一些细节,包括star数量和背后开发的公司或组织: 主流的API网关还有各大公有云提供商的实现,比如:Amazon的API Gateway、Google Cloud的API Gateway以及上图中的Azure API Management等,但它们不在我们选择范围之内;虽然被CNCF收录,但多数API网关受到的关注并不高,超过1k star的不到30%,这些不是很受关注或dev不是那么active的项目也无法在生产环境担当关键角色;而像APISIX、Kong这两个受关注很高的网关,它们是建构在Nginx之上实现的,技术栈与我们不契合;而像EMISSARY INGRESS、Gloo等则是完全云原生化或者说是Kubernetes Native的,无法在无Kubernetes的基于VM或裸金属的环境下部署和运行。 好吧,剩下的只有几个Go实现的API Gateway了,在它们之中,我们选择用Tyk API网关来作为后续API功能演示的示例。 注:这并不代表Tyk API网关就要比其他Go实现的API [...]

AI生成摘要 本文介绍了API网关的主要功能特性,包括请求转发和路由、身份认证和授权、流量控制和限速、高可用和容错处理、监控和可观测性等。以Tyk Gateway为例,详细说明了如何配置和使用API网关的功能特性。文章总结了Tyk Gateway的优点和不足,并提供了相关参考资料。

相关推荐 去reddit讨论

独立开发变现周刊 -

独立开发变现周刊(第114期) : 一个简单截图API,月收入2千美金

分享独立开发产品变现相关有价值的内容,每周五发布。一个简单截图API,月收入2千美金

AI生成摘要 这篇文章介绍了几个与独立开发和产品变现相关的项目。其中包括开源的在线图像编辑器miniPaint,面向开发者的在线JSON翻译应用devtranslate,Youtube视频缩略图和标题测试工具ThumbNailTest,开源的绘画白板Tldraw,以及一个简单的截图API。这些项目都有不错的月收入,并提供了各自的官网供用户了解和体验。作者还分享了自己的创业经历和市场营销策略,鼓励读者从赚第1美元开始创业。

相关推荐 去reddit讨论

解道jdon.com -

Java中的顺序集合API

是否对查找集合中最后一个元素或以相反顺序单步执行集合所需的样板感到恼火?好消息是,随着 Java 21 和 顺序集合(Sequenced Collections API )的发布,这些操作变得更容易完成!让我们来看看。 新接口相同的层次结构 新的序列集合 API 已作为一系列新接口添加到现有集合层次结构中,用于具有定义的遇到顺序的集合。在某些情况下,添加到新接口的方法实际上是从较低级别的类提升的现有方法。 在集合方面,添加了两个

AI生成摘要 Java 21 and the Sequenced Collections API make it easier to find the last element in a collection or iterate through it in reverse order. The new API adds new interfaces to the existing collection hierarchy, including SequencedCollection and SequencedSet. It also adds the SequencedMap interface to the map collection hierarchy. The Sequenced Collections API can update collections with defined encounter order. However, HashSet and HashMap cannot benefit from the changes in the API. To use the new methods defined in SequencedMap, other map implementations like TreeMap, LinkedHashMap, or SortedMap need to be used.

相关推荐 去reddit讨论

Percona Database Performance Blog -

Introducing Percona’s API for Faster Snapshot-Based Backup and Restore for Your MongoDB Environments

Although the introduction of physical backups in Percona Backup for MongoDB (PBM) made it possible to significantly cut the restore time for big datasets, it’s hard to beat snapshots in speed and efficiency. That’s why we introduced external backups (aka snapshot-based backup API) in PBM 2.2.0The idea came from the requests to bring EBS snapshots […]

AI生成摘要 Percona Backup for MongoDB (PBM) has introduced external backups, allowing users to leverage their own backup strategies. The new snapshot-based backup API breaks the backup and restore process into three stages, giving users full control over the data copy. PBM can also restore snapshots taken without PBM, using backup metadata to check compatibility and define restore-to-time. This feature is released as a Technical Preview for user feedback.

相关推荐 去reddit讨论

蓝点网 -

微软给终端应用Windows Terminal集成GPT 需自备Azure OpenAI API

在上周的 Microsoft Ignite 大会上,微软宣布为 Windows Terminal 带来人工智能 […]

AI生成摘要 微软在 Microsoft Ignite 大会上宣布为 Windows Terminal 增加人工智能支持。开发者可以使用自然语言与 AI 进行对话,获得推荐的命令、错误解释和操作步骤等。新的人工智能聊天程序名为 Terminal Chat,是开源的,但需要使用者自备 Microsoft Azure OpenAI API。Windows Terminal 目前正在测试中,有兴趣的开发者可以通过 GitHub 下载体验。

相关推荐 去reddit讨论

XINDOO的博客 -

OpenAI Assistants-API简明教程

OpenAI在11月6号的开发者大会上,除了公布了gpt4-v、gpt-4-turbo等新模型外,还有一个assistants-api,基于assistants-api开发者可以构建自己的AI助手,目前assista...

AI生成摘要 OpenAI在开发者大会上发布了assistants-api,开发者可以使用该API构建自己的AI助手。assistants-api包括代码解释器、文件检索和函数调用等工具。与chat-api相比,assistants-api不需要维护对话历史,还可以调用解释器和外部函数。目前处于beta版本,未来可能支持更多功能。开发流程包括创建助手、创建Thread、创建Run和获取结果等步骤。

相关推荐 去reddit讨论

梦溪博客 -

夏柔API管理系统安装

准备体验传送门本次安装为服务器安装,宝塔面板系统:centos需要提前准备好域名和服务器GIT地址:https://github.com/050310Y/freeapi.git可以downloa...

AI生成摘要 本文介绍了在服务器上安装宝塔面板系统的方法,包括准备域名和服务器GIT地址、下载源码并上传至服务器、配置数据库项、导入数据库等步骤。同时提供了搭建教程和网站信息。

相关推荐 去reddit讨论

蓝点网 -

OpenSubtitles将在年底停掉旧API 新版本每IP每天可下载5个字幕

OpenSubtitles 是全球最大的字幕网站,想必各位 NAS 或各类播放器玩家应该都知道 OpenSub […]

AI生成摘要 OpenSubtitles将停止旧版API,并推出新的REST API。新API性能更好,但免费用户每天只能下载5个字幕文件。注册用户可下载10个字幕,会员每天可下载1000个字幕,会员费用为10欧元/年或15美元/年。

相关推荐 去reddit讨论

Microsoft 365 Developer Blog -

Building the next era of AI: Teams AI Library and API message extensions | Ignite 2023

Integrate your app into Microsoft’s Copilot and Teams in minutes with API message extensions and create your own intelligent app with the Teams AI Library. The post Building the next era of AI: Teams AI Library and API message extensions | Ignite 2023 appeared first on Microsoft 365 Developer Blog.

AI生成摘要 微软首席技术官Kevin Scott表示,未来几年,每个软件产品都将包含智能副驾驶助手。为了帮助开发者抓住这个机会,微软发布了Teams的API消息扩展和Teams AI Library,简化了创建智能应用程序的过程。API消息扩展可以快速集成应用程序到Teams,Teams AI Library可以轻松添加AI组件,创建智能应用程序。这些开发工具提供了全面的用户体验,满足用户需求。

相关推荐 去reddit讨论

华为云官方博客 -

率先支持Kuasar!iSulad Sandbox API 简化调用链,沙箱管理能力增强

iSulad率先通过 Sandbox API 支持 Kuasar,提供高效和稳定的沙箱管理能力。

AI生成摘要 本文介绍了沙箱隔离技术在容器领域的应用和发展。华为云率先通过Sandbox API支持Kuasar,提供高效和稳定的沙箱管理能力。Sandbox API的引入解决了容器引擎和容器运行时之间的痛点问题,简化了容器调用链,提高了性能和稳定性。iSulad也支持Kuasar,提供了一个安全容器解决方案。Sandbox API定义了沙箱的生命周期管理和资源管理接口,使容器引擎能够直接管理沙箱。通过Sandbox API,容器引擎和容器运行时之间的沙箱管理变得更加流畅和高效。

相关推荐 去reddit讨论

热榜 Top10
...
天勤数据
...
白鲸技术栈
...
eolink
...
观测云
...
LigaAI
...
Dify.AI
...
ShowMeBug
推荐或自荐