首页
学习
活动
专区
圈层
工具
发布

为媒体资产构建一个云原生的文件系统

更多参见完整的视频演示 译自:Netflix Drive: Building a Cloud-Native Filesystem for Media Assets 为什么构造Netflix Drive...我们启动Netflix Drive,并使用清单、REST API和控制接口进行引导。 抽象层抽象了默认的元数据存储和数据存储。...部分REST API可以修改文件--例如,某个API可以暂存文件,从云端拉取文件;某个API可以检查文件;某个API可以保存文件,显示地将文件上传到云存储。...对于这类工作流,应该使用显示保存,而非自动保存,Google Drive就是这种模式。一旦设计师确定可以将资产共享给其他设计师或工作流,此时可以调用API将其上传到云端。...Netflix Drive在本地文件存储中缓存了大量数据(Google Drive则不会这么做),因此可以较Google Drive可以更好的利用到本地文件系统的性能。

2.5K10

《Scikit-Learn、Keras与TensorFlow机器学习实用指南(第二版)》第19章 规模化训练和部署TensorFlow模型

REST API既优雅又简单,当输入输出数据不大时,可以工作的很好。另外,客户端无需其它依赖就能做REST请求,其它协议不一定成。但是,REST是基于JSON的,JSON又是基于文本的,很冗长。...API),也是我最熟悉的。...GitHub、Google Drive上的notebook,或上传自己的notebook)。...为什么使用gRPC API而不是REST API,查询TF Serving模型? 在移动和嵌入设备上运行,TFLite减小模型的大小有什么方法? 什么是伪量化训练,有什么用?...写客户端代码,用REST API 或 gRPC API做查询。更新模型,部署新版本。客户端现在查询新版本。回滚到第一个版本。

7.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    我在产品上线前不小心删除了7 TB的视频

    出问题了 突然之间,Vimeo 那边似乎开了窍,想起我们之前提出的申请。于是在并未告知我司的情况下,他们决定把 OTT 上的所有视频都转储到 Enterprise 新平台上。但为什么不打个招呼呢?...“解决方案” (介绍一下背景,之前 7 个月里我一直在使用 React,这也成了引爆问题的直接导火索) 幸运的是,我们在数据库里为每段视频都分配了一个“VimeoId”,所以我脑袋里蹦出的第一个解决方案就是...}" 这两条请求都是分页的(只是具体方式略有不同),所以我编写的实际代码是: page = 0 url = f"https://api.ourservice.com/media?...当时公司的网络带宽大概是每秒 30 MB,上传数据总量在 8 TB 左右。不现实……我们得想点别的办法。 我想到的第一个解决方案就是用 Google Drive API。...于是我又想到了一个办法: 另一个解决方案 能不能直接把视频从 Google Drive 上传到 Vimeo?我检查了一下上传页面,并发现确实可以这么操作。

    1.3K10

    WordZ:Word终结者,基于Google API的文档自动化 电子合同发票流水账单线上集成方案

    我实在不相信,签合同这样一个每个公司都有的业务场景,哪些大互联网公司就没有成熟的解决方案。我实在不想,我们不可能是第一个遇到这样的难题。...扯的有点多了,在搭乘小飞机充分看了GoogleDocs的官网介绍后,和体验了他们的Demo后,我决定还是用GoogleDocs来作为第一个尝试对象。...要快速学习一个东西最好的地方是官网,Google Docs API 官网 这一个观点应该是所有技术人员的共识,但却有很多技术人员学习一个新工具的使用,总是去一些第三方,或者从乱七八糟的论坛开始。..., 这里是阮一峰的博客,大家可以用来参考 官方关于OAuth2.0在谷歌API中的使用 我翻译的中文文档 在清楚了OAuth2.0后,我就知道了为什么调用一些接口报没有权限。...Google Drive API 了解了Docs API ,还要去了解Google Drive API,这个API是去管理操作个人云盘上的所有文件,上传,下载,复制,修改。

    4.9K30

    Google Earth Engine(GEE)—有JS和python为什么GEE还要使用rgee?

    WEB REST API/客户端库:用于向地球引擎服务器发出请求。 代码编辑器:一个在线集成开发环境 (IDE),用于使用 Javascript API 对复杂空间分析进行快速原型设计和可视化。...认识地球引擎 用户必须考虑到地球引擎 API 和高级地球引擎功能是实验性的,可能会发生变化。访问受到限制,需要通过表单请求访问。查看地球引擎官网获取更多信息。 5....另一方面,凭证依赖项 仅用于将数据从 Google Drive 和 Google Cloud Storage 移动到您的本地环境。这些依赖项不是强制性的。...认证 正如我们之前看到的,rgee处理三种不同的 Google API: 谷歌地球引擎 谷歌云端硬盘 谷歌云存储 要验证/初始化 Google Drive 或 Google Cloud...复制此令牌并将其粘贴到新出现的 GUI 中。与 Earth Engine 和 Google Drive 不同,Google Cloud Storage 需要手动设置其凭据(link1和link2)。

    1.5K10

    Netflix Drive:构建媒体资产云原生文件系统

    这个接口处理 Netflix Drive 上的数据和元数据操作。不同应用程序、用户、脚本或工作流会读、写存储在 Netflix Drive 上的文件,或者创建文件及提出其他操作请求。...另一种是自动同步,这是一种将所有本地文件与云存储文件自动同步的能力。这与 Google Drive 存储文件的方式相同。为此,云存储分成了不同的层。...启动 Netflix Drive,通过清单文件以及 REST API 和控制接口对它进行引导。 抽象层抽象了默认的元数据存储和数据存储,可以使用不同类型的数据和元数据存储。...创建命名空间的动态方法是在 REST 接口中调用 Netflix Drive API(图 11)。在本例中,stage API 暂存文件以及从云存储中拉取文件,然后将它们附加到命名空间中的特定位置。...此外,REST API 的一个子集也可以修改文件——例如,API 可以暂存文件,从云中拉取文件。可以设置文件检查点,可以保存文件,显式地将文件上传到云存储。

    2.5K30

    GPT动作中的数据检索

    例如,Salesforce用于客户数据,Zendesk用于支持数据,Confluence用于内部流程数据,Google Drive用于业务文档。...这些提供商通常提供REST API,使外部系统能够搜索和检索信息。当构建一个与提供商的REST API集成的动作时,请首先查阅现有文档。...您需要确认几件事情:检索方法搜索 - 每个提供商都支持不同的搜索语义,但通常您需要一个接受关键字或查询字符串并返回匹配文档列表的方法。请参见Google Drive的file.list方法。...获取 - 一旦找到匹配的文档,您需要一种检索它们的方法。请参见Google Drive的file.get方法。...这个中间件应该做到以下几点:接受正式的查询字符串将查询字符串传递给数据库将返回的记录回复给请求者公共互联网的可访问性与设计为从公共互联网访问的API不同,关系数据库传统上设计为在组织的应用程序基础设施中使用

    1.4K10

    2.REST用来干什么的?

    衔接上文[解读REST] 1.REST的起源,介绍了REST的诞生背景。每当笔者遇到一个新事物的想去了解的时候,总是会问上自己第一个问题,这个新事物是干什么用的?...在解释我所理解的REST这个过程中也不例外,这篇博客我们先关注一下REST是干什么用的,然后后续再解释REST是什么。...那么架构风格也是这么一个类似的概念,也有它自己的特征加以区分,我们把这些特征称为“架构约束”。那么架构风格的定义就是:一个架构风格是一组已命名的、相互协作的架构约束。...App -> PWA(Google提出的渐进式Web APP)。...很多的人只关注于restful的web api,以api的角度去理解解释rest,最终只会发现到头来就是URL设计的漂亮一些,把HTTP动词用起来,然后你就会发现REST也不过如此,也不好用,还遗留一堆问题

    1.4K60

    从 API 设计开始,了解一下 Golang 的新框架 Twirp

    在这篇博文中我想谈谈 API,讲一下针对微服务该如何设计 API。...我认为,选择单体还是微服务应该视具体情况而定。这里我不会探讨这个问题,但不管怎样每种选项都有自己的优缺点。 2用例 一家公司有一个 SaaS 产品,并向用户公开了一个 REST API。...开发人员和架构师选择 RESTful API 作为服务之间的通信方式是很常见的,但我想解释为什么 REST 可能是我实在没办法才会考虑的选项之一。 REST 当今最常见的 API 实现是 REST。...4为什么 REST API 并不一定是正确的选择 服务到服务通信 除了面向公众的 API 之外,现在的通信完全是内部的、服务到服务的,没有人参与。...JSON JSON 是迄今为止最流行的 REST API 数据格式,但它有几个限制: 没有模式(schema):我们的数据库有模式,我们的代码编写的时候就保留了一种模式,那么为什么我们的数据格式没有模式呢

    95530

    OAuth 2.0 for Client-side Web Applications

    使用JavaScript的应用程序,使谷歌授权的API请求都必须指定授权的JavaScript源。起源识别从您的应用程序可以发送API请求的域。...请注意,clientId如果您的应用程序进行授权的API请求是必需的。应用程序,只有让未经授权的请求,只需指定一个API密钥。...通过请求访问用户数据的情况下,通过增量授权,你帮助用户更容易理解为什么您的应用程序需要被请求的访问。 该discoveryDocs字段标识列表API发现的文件,你的应用程序使用。...', 'discoveryDocs': ['https://www.googleapis.com/discovery/v1/apis/drive/v3/rest'] }).then(function...var discoveryUrl = 'https://www.googleapis.com/discovery/v1/apis/drive/v3/rest'; // Initialize the

    3.2K10

    【趣味连载】攻城狮上传视频与普通人上传视频:(一)生成结构化数据

    关于混合应用开发的未来的一些思考 10.记录我发现的第一个关于 Google 的 Bug 是的,内容中还有各种中文标点。...", "google_bug":"记录我发现的第一个关于 Google 的 Bug", } 排序 排序,是需要增加一个新的字段 order。...", "google_bug":"记录我发现的第一个关于 Google 的 Bug", /* frp */ "tip_rest":"【树莓派自动化应用实例】整点提醒自己休息五分钟", "...", "google_bug":"记录我发现的第一个关于 Google 的 Bug", /* frp */ "frp":"_category", "tip_rest":"【树莓派自动化应用实例...": "记录我发现的第一个关于 Google 的 Bug", "order": 8, "local_video_path": "videos/Lua/记录我发现的第一个关于 Google

    1.6K50

    Wolfram Stephen 云端捉虫之旅(一)

    我们有非常出色的软件工程师来排查和解决问题,但几个月过后问题还没有解决。那时我们刚发布了Wolfram Data Drop,所以我想,我为什么不自己做一些测试呢?...为什么会出现这么大的变动?我能理解集群中某个节点可能会逐渐变慢,但是为什么怎么会出现这种反复的情况呢? 我第一个想到的是可能是网络问题,因为我是从1000多英里以外的服务器调用API。...而就像在科学实验中,简化研究对象总是很重要,所以我决定要简化我的研究对象。我云￿切断了大部分的网络:从内部集群中调用API。...然后我切断了负载均衡器,通过把我的请求锁定在一个节点上使所有的请求传输到某个特定的节点(外部用户无法这么做除非他们有Private Cloud)。但是速度慢的问题依然存在。...蓝色线条表示原始花费时间,黄色线条表示执行Wolfram语言代码开始与结束的绝对时间。我在整个系统表现很差的时候搜集了这些数据。我发现多数速度非常慢的情况出现在前者的时候. 这又是一个很奇怪的现象。

    63960

    只需使用VS Code的REST客户端插件即可进行API调用

    为什么要离开 IDE 去测试新的 API?现在你不必这样做了。...在过去,为了在连接 UI 以接受数据之前测试 REST API,通常必须通过终端的命令行查询 API,或者使用像 Insomnia 或 Postman 这样的 GUI(我在之前的博客中对它们进行了比较)...但现在,如果你使用 VS Code(为什么不呢,用它写代码多好啊!),生活就变得简单了。我们不再需要退出 IDE 来测试 API,因为现在已经有一个插件可以做到这一点:REST Client。...POST 示例 我将介绍的第一个示例是 REST Client 的 POST,因为用户在我的应用程序中必须先注册才能进行其他任何操作(毕竟,这只是一个登录服务)。...我希望你能考虑用 REST Client 来处理你未来可能需要做的任何 API 查询,我想你会对它能提供的愉快体验感到惊喜,不需要任何 API GUI。

    9.9K20

    REST 十诫

    当构建 REST API 时,我推荐客户端以 的形式发送数据。这样我们就能保持一致,符合 JSON 精神,而且发送 JSON 数据可以让你轻松地做出真正复杂的请求。...我曾经和你一样,我以前也是这么干的。我也这么说过。要明智,在 API 中使用版本管理,是你能尽早做出的最佳决策。...提供大量的细节,说明为什么事情会发生失败,即便是没有人使用,并且使用普遍理解的 HTTP 响应代码的语言。 要聪明 这是一个更具哲理的问题,但是我认为,这是优秀的 REST API 的支柱之一。...一个聪明的 API 总是会把客户端的缺陷考虑进去,并且尽量改正。 须简练 如果 API 不能迅速地进行优化,那它算得了什么?in 的 API 不能成为整个生态系统的痛点。就这么简单。...我必须指出的是,REST 并不是一个标准,因此没有人能说你的错误。不过,请考虑一下:作为开发人员,我们每天都在寻求让代码更好、更漂亮、更高效的模式,何不对 API 也这么做?

    65420

    ReDoS:正则也许会让你的系统更脆弱

    引 Evil Regex 大敌当前 知己知彼,百战不殆 NFA vs DFA Thompson NFA 构造 vs DFA 为什么主流编程语言这么慢?...可以试想一下,如果在生产环境服务的关键请求链路中存在这样正则匹配,加上不可控的用户输入,很容易落入“性能陷阱”,轻则拖慢系统,重则直接让服务暴露在 ReDoS (Regual Expression Denial-of-Service...Thompson NFA 构造 vs DFA 为什么使用了 Thompson NFA 构造出的正则匹配会快这么多呢?主要的原因是:通过划分多个子表达式,合并相同的内容,从而减少了回溯次数。...而 DFA 更容易理解,因为它是典型的空间换时间。 NFA 图片 为什么主流编程语言这么慢?...经过一番冲浪搜索,简单概括我找到的结论:历史的局限。

    1.6K40

    你真的知道你喜欢REST而不是RPC的原因吗?

    有关REST和RPC的讨论或争论一直活跃在各个技术角落,最近也关注了不少,看了很多人的看法之后,我意识到这个问题可以帮助我照亮自己的知识死角:为什么我喜欢REST的请求风格(资源导向)比RPC(操作导向...REST: 一种基于资源(resource)的请求风格 我不会详细解释到底什么是REST,你可以阅读Roy Fielding的论文和REST cookbook的更多细节。...本局 REST 胜出。 超媒体性 这两种风格都是使用的HTTP的请求,所以都可以设计出超媒体(hypermedia)的API。 平手。...当然,如果你的RPC API所有请求都使用POST,缓存处理起来可能有点棘手。 如果你使用GET和POST的话,你的RPC API也将能够获得与REST API相同的缓存能力。 所以,这局平手!...至少,我现在知道为什么我喜欢基于资源的这种模式(REST)了:其可预测性以及充分利用HTTP协议特性。 你呢?

    1.4K60

    2020前端性能优化清单(一)

    请记住,在移动设备上,我们应该预期会比台式机慢4到5倍[73]。移动设备有不同的GPU、CPU、内存和不同的电池。这就是为什么我们需要真机测试组合,并且始终在这些设备上进行测试[74]。...在慢网络能够根据实际情况阻塞请求,而不是像TCP那样造成数据包丢失,它明显更快[107],具有更高的吞吐量和更低的延迟-算法的工作方式也不尽相同[108]。...符合REST约束定义的Web服务称为RESTful Web服务。 与普通的HTTP请求一样,当从API检索数据时,服务器响应中的任何延迟都将传播到最终用户,从而影响渲染。...与REST不同,GraphQL可以在单个请求中检索所有数据,并且只响应所需的内容,而不会像REST通常那样过度或不足地获取数据。...如果您想开始使用GraphQL,Eric Baer在Smashing Magazine上发表了两篇精彩的文章:GraphQL入门:为什么我们需要一种新型API[171]和GraphQL入门:API设计的发展

    3.1K51

    DNS泛解析与内容投毒

    但是Android不是这么认为的: ? ?...DNS 在Google上寻找此类问题的时候,我很快就发现了泛解析的域名,如: - https://w00t.drive.google.com - https://w00t.script.google.com...你可以找到有关反向DNS记录或通过搜索发给通配符域的SSL证书,如 *.sites.google.com 刚开始测试时,在drive.google.com域内我无法在URL当中使用.-....(得到500错误消息) 我能创造的URL是这样的: https://www.example.com-----www.drive.google.com 当你使用那个URL使用Google Drive时,上传一个文件到一个文件夹...请求发送到合法的网站: ? 请求转向到用户可控的网站中,这个例子当中,我自己的服务器运行着nginx: ? 这可以导致xss,你已经绕过了同源策略,可以偷取cookie,执行脚本了。 ?

    2.4K20

    高性能 Nginx HTTPS 调优 - 如何为 HTTPS 提速 30%

    开启 HTTP/2 HTTP/2 标准是从 Google 的 SPDY 上进行的改进,比起 HTTP 1.1 提升了不少性能,尤其是需要并行多个请求的时候可以显著减少延迟。...如何确认你的网站或者 API 开启了 HTTP 2 在 Chrome 中打开开发者工具,点开 Protocol 之后在所有的请求中都可以看到请求用的协议了。...因此如果你的服务是 REST API 或者网站的话,将这个值调小可以减小延迟和 TTFB,但如果你的服务器是用来传输大文件的,那么可以维持 16k。...关于这个值的讨论和更通用的 TLS Record Size 的讨论,可以参考:Best value for nginx's sslbuffersize option 如果是网站或者 REST API,建议值为...之后我们会继续讨论 HTTP/2 对比 HTTP 1.x 有哪些具体改进,以及在 REST API 使用 HTTP/2 有哪些优缺点,请继续关注 点个在看支持我吧,转发就更好了

    2K10

    Selenium结合Unirest和JTwig进行API测试

    如果你只需要测试api,那么建议浏览这篇文章:Jmeter如何测试REST API /微服务[1] Web UI测试存在的问题: 慢(这是因为你的浏览器首先向服务器发送一个请求以获取某些信息,一旦获得所需数据...因此,这并不意味着我们应该总是做API级别的测试并发布产品;我们应该尝试尽可能的进行API级别测试。我们可以只为UI测试提供较小覆盖率。...REST API测试:与Selenium WebDriver UI测试相比,REST API测试并不难,大多数api都是GET / POST / PUT / PATCH / DELETE请求之一: GET...如果你的目的是对REST api进行详尽的测试,我建议看看JMeter。你可以查看下面关于使用JMeter进行REST API测试的文章。...HTTP请求库 JTwig是一个非常简单的模板引擎 程序示例: 我将考虑这个应用程序[5]进行测试。

    1.9K20
    领券