CloudFlare工人是开发人员将其应用程序代码部署的最简单方法,以便在烘焙中使用性能,规模和安全性部署。无需配置。工人代码尺度为在CloudFlare的200多个数据中心提供数十亿个请求。
但这不是我们需要解决的唯一有趣的问题。每个应用程序都有两个部分:代码和状态。
状态并不总是在大规模分布式系统中工作的最容易工作。当应用程序同时运行200+数据中心时,分发数据之间存在固有权衡,以便更好的性能,可用性,缩放和保证所有数据中心在给定时间点看到相同的数据。
我们的目标是在无缝的边缘制造状态。我们开始与工人KV的旅程,它为全局分布式数据提供低延迟访问。我们自增加耐用物体,具有强烈的一致性和设计工人顶部的协调模式的能力。我们继续投资并建立这些产品。
但是,有些用例不容易用工人kv或持久对象实现。认为查询复杂数据集或与现有的录制系统进行通信。即使我们自己建立了这一功能,也将永远希望希望使用不同的数据存储和访问的客户。
如今,我们正在明确我们的数据策略,以便开发人员可以自信地建立在工人身上。首先,我们宣布与两个分布式数据公司,Macrometa和Fauna合作,帮助开发人员在为工人建立新申请时选择优势数据库。接下来,我们为已经支持HTTP连接的数据库推出了教程和指南,以使连接到现有数据库甚至更容易。
有了这个,工作人员运行时间是处理重要信息的最简单方法:代码和状态。
CloudFlare很高兴地宣布使用Macrometa的全球数据伙伴关系。 Macrometa为开发人员提供了一个无服务器数据平台,以通过CloudFlare工人在边缘构建丰富的地理分布式状态应用程序。 Macrometa全局数据网络(GDN)是一个超快速的全局复制的NoSQL数据库,具有用于搜索,PUB / sub,Streams和流处理的集成功能。
Macrometa通过通过本地读/写延迟启用全局运行,存储,查询,变异和服务数据来补充CloudFlare工人。表跨Macrometa的全局数据中心复制,可配置一致性,无需额外的代码,成本或复杂性。工作人员和宏之间的数据呼叫自动路由,并从最接近的Macrometa区域提供相对于CloudFlare Worker调用。我们已经看到,从客户端到边缘和背部的数据库请求的端到端延迟是第99百分位数的<75ms。
Macrometa通常将数据服务和API(每个数据模型和数据副本)组合成单个,集成和直观的数据API(具有单个统一的公共数据集和型号)。在高级别,可以将Macrometa视为将NoSQL数据库与Pub / Sub,流数据和事件处理组合在一起,以及搜索到无缝的全局复制的低延迟数据平台。
数据库和API的低延迟边缘缓存以及全局缓存无效和Live的时间(TTL)
流数据和复杂的事件处理 - 实时评估事件,聚合,丰富,过滤器,汇总,模式匹配在流数据上。
使用CloudFlare Workers编写的应用程序通过JavaScript SDK或REST API消耗Macrometa。开发人员可以选择使用与CloudFlare工人紧密整合的两个SDK之一:
CloudFlare工作者特定的JavaScript SDK,它提供了上面提到的全套功能
Dynamo Client SDK,使开发人员能够将Macrometa用作替换AWS DynamoDB(或作为边缘高速缓存)。
随着CloudFlare和Macrometa,开发人员现在可以建立并提供强大的和引人注目的数据驱动的经验,以便集中云永远无法实现。世界值得一个更好的云 - 一个边缘云。 - Chetan Venkatesh,联合创始人/ CEO,Macrometa
如果您有兴趣使用Macrometa和CloudFlare工人一起学习更多信息,请在此注册。
为了展示CloudFlare和Macrometa的电源和性能在一起,我们重新构建了AWS的演示应用程序 - 一个完整的电子商务后端,用于在线书店。大型全局站点的电子商务后端是复杂的,需要许多不同类型的数据库。这些复杂的架构是存储,执行多表或多数据存储查询,以及服务产品目录,定价,搜索,建议,订单管理,购物车操作,履行等。
Bookstore是一个无服务器应用程序,作为CloudFlare Worker,用于服务React单页应用程序,并使用Macrometa用于存储和服务产品/目录数据,订单,购物车操作等。它使用流和复杂的事件处理来提供实时最畅销书籍的排行榜,并使用Macrometa搜索服务来提供近乎即时搜索结果。您可以在此处测试最终用户体验。我们的测试显示了用户对用户的级别延迟改进的秩序。与旧版云提供商建立的相同用例。
CloudFlare很高兴地宣布与现代应用程序的数据API进行交易工作负载的新伙伴关系。一起,CloudFlare和Fauna使开发人员能够在没有任何额外配置的情况下构建动态缩放的更强大的状态应用程序,并保持强烈的一致性。
Fauna是一个灵活的开发人员友好的全局交易数据库,作为安全,全球,云API,无需数据库操作。通过Fauna,开发人员可以通过用数据API替换数据的数据API来简化代码和船舶,这些数据API将中心API与定制业务逻辑的强大功能相结合,以及边缘处的GraphQL的简易性。
Fauna是一个简单但可扩展的后端,适用于CloudFlare的服务(如工人和页面)的应用程序。通过利用支持现代安全协议的支持网络本机(基于HTTP)调用模型,Fauna消除了传统数据库引入的连接限制,并且可以直接集成在边缘处运行的无服务功能和应用程序。
动物区系通过提供全局,查询,强烈一致的持久层来补充CloudFlare KV和持久对象,用于构建现代Web和移动应用程序所需的任务关键数据。它是全局分布式存储引擎的底层快速,一致,可靠。开发人员可以依靠动物群独特的全局交易能力,以确保任务关键的业务数据始终与最小延迟相一致。
Fauna是一个无服务器提供的,很容易免费入门,让开发人员在任何规模中从数据库操作中遇到自由。 Deuna通过GraphQL或司机提供,该司机与几种流行的编程语言合作。
如果您有兴趣了解如何使用CloudFlare Workers使用Fauna,请访问此逐步教程,以便进行实践经验!如果您有兴趣使用CloudFlare Workers和Fauna一起学习更多信息,请在此注册。
CloudFlare工人与动物群的整合允许我们的联合客户简单地和成本有效地将数据和逻辑带到边缘。 Fauna是从地上开发的,作为全球分布的无服务数据库,并且与CloudFlare工人组合时,无服务器计算面料为开发人员提供了一个简单但强大的抽象,而不是分布式基础架构的复杂性。 - 埃文韦弗,联合创始人/首席技术官,动物群岛
让我们来看看当前的动物群和CloudFlare的客户,他们从动物区提供了低延迟的全局分布式交易数据访问的能力。
Meetkai是一位AI动力的语音助理,通过对话,个性化和amp更轻松地使消费者的生活更轻松;治疗。由企业部署的每月积极的用户在亿万加号,Meetkai使用动物群和CloudFlare在一起,提供响应,全球经验。
CloudFlare工人作为所有下游请求的代理。这样做使MeetingKai能够在边缘执行更智能的负载平衡,使用工人而不是其他一些竞争解决方案。当与动物群结合时,这种无服务器首次方法以可预测的成本提供规模和性能,同时减少了上市时间。通过将数据推到与Fauna的边缘,Meetkai能够在请求击中后端之前注入个性化信息!了解有关Meatekai如何在此技术案例研究中使用CloudPlare Workers和Fauna的更多信息。
将CloudFlare工人与动物群组合允许我们将数据和逻辑带到边缘,使我们能够提供差异化的搜索引擎,同时仍然会满足延迟和正常运行时间的高运营要求 - 所有部分都是无服务器成本和复杂性的一小部分解决方案。 - James Kaplan,创始人/首席执行官Meetkai
除了我们的合作伙伴,CloudFlare工人还可以使用任何接受HTTP连接的数据库。
特别是,我们记录了与DynamoDB和AWS Aurora的连接,支持Postgres或MySQL。这些连接允许您直接从CloudFlare的边缘访问现有数据库,使得在现有数据的顶部构建新应用程序。
此外,我们还将添加更多教程来记录如何连接到与工人合作的其他数据库,如Google的云弗雷斯特。
工人平台为无要的开发人员建立了一个新的范例。在我们自己的耐用对象和工人kv,我们的合作伙伴数据库和与现有提供者的连接,我们将在边缘带来相同的范式转移到状态。随着我们继续构建我们的数据库伙伴关系和数据平台,我们希望收到您的来信!将您的想法和反馈发送给工人产品团队,让我们知道您最喜欢查看我们构建的数据库和功能。
开发者周开发人员CloudFlare Workers合作伙伴边缘数据库