首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《英雄联盟》支撑最高750万同时在线用户的聊天服务打造

可以查看好友的连接状态(在线或离线)、游戏状态、游戏时间,以及获得过的奖项。 3. REST APIs让chat可以作为其他LoL服务的后端服务。举个例子,store会与chat通信来验证好友关系。...举个例子,当大量数据库查询积压时,重启可以让新的查询实时完成,队列中的查询则另选恰当时间进行。 11. 每台服务器都运行了Ejabberd和Riak,Riak作为服务器使用。...让代码可以涉及到同一事务的多个服务器同时升级。 17. 优化Erlang VM中的服务器调试功能。获得会话内存使用情况,以更好地进行内存使用优化。 18. 项目开始时就考虑到了数据库扩展性。...无主的机制让它可以避免单点故障,即使两台服务器同时发生故障也不会影响服务或丢失数据。 需要在chat服务器投入大量的精力以实现最终一致。实现了一个Ejabberd CRDT库处理所有的写入冲突。...他们开始于Ejabberd,这并不一定代表着Ejabberd更容易开始,但是Ejabberd绝对可以更匹配他们的需求。 6. 让一切更可见。增加追踪、警报、监视、同样一级一切有意义的东西。 7.

1.6K111

GraphQL 可代替 REST API ?

GraphQL 是一个未接触的东东,有博主认为它可以代替 Rest API。那么真的可以代替?...---- 一、Rest API 自从它的出现,的所有应用都采用了 Rest API 的方式进行开发(除了 webservice )。 Rest API 轻量:基于 HTTP 协议。...到这里,已经可以得出一个结论:特定的场景下,GraphQL 可以完美代替 Rest API。 因为:编程语言能做的事情,远超所有人的认知。 三、什么是 GraphQL?...如果说 GraphQL 是「数据中心」查询 API 的解决方案,那么 GraphQL 自身在查询这件事都有哪些优势? 如果说 GraphQL 是还在演进未完成的新语言,那么会是一个新的风口?...当时,是持反对意见来看待 GraphQL 可以替代 Rest API,通过了解、学习 GraphQL,最终觉得 GraphQL 似乎还蛮有意思来着。

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

12 个值得收藏的免费 API

原文地址:dev.to/monicafidal…当你准备开始创建一个新的应用,学习一门新的技术,开发一个新的功能的时候;当你已经做好了所有的准备,这个时候你在想:的数据要如何去模拟生成?...不用担心,本文会列取一些非常易用且免费的 API 供你项目中使用部分 API 可能需要科学上网才能访问希望你会喜欢~1.PokéAPI=================================...===================================GIPHY 是世界最大的「 GIF & 视频」 库,它提供了一套强大的自定义功能,可以让你的应用变得更加生动有趣 是否需要 API...你了解剧中的名言?你可以通过这个 API 获取剧中的信息,包括名言,章节,选集等10. ...这个 API 让你可以按剧集、角色、地点进行查询。困难的部分是选择要查询的内容。是否需要 API Key:否正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

14110

为什么使用 GraphQL 而放弃 REST API

至此,再也无法回过头来享受使用 REST 的工作了。 REST 有什么问题? 每个 REST API 都是独特的 公平地说,REST 甚至不是一个标准。...事实,下面提到的大多数注意事项都是由于缺乏标准造成的,但是想强调一下在实践中经常看到的情况。 一个有经验的团队中,你可以避免这些问题,但是你难道不希望一些问题已经软件方面得到解决?...客户端或服务器的所有验证逻辑,你确定都是正确的?理想情况下,你希望它在两边都得到验证,对吧?维护所有这些自定义代码非常有趣。或者保持 API JSON 模式是最新的。...参见 GitHub REST API(至少不是头中传递 JSON)。 说到过滤,就有趣多了……需要按一个字段过滤?没问题,可能是/todos?...事实发现 GraphiQL 是不可或缺的。它可以帮助解决前面提到的客户端和服务器团队之间的沟通问题。

2.3K30

来自前端同学对后端童鞋的吐槽!@!#^$%

例如meta.code完全可以使用 HTTP code 代替,看不出始终要保证 200 返回以及自定义 code 的意义在哪里 而至于其它的 meta 信息,可以通过以X-开头的自定义 HTTP Header...API 和代码应该是精准的,准确表达你想实现的一切而不存在有歧义 有人可能会说不就是多了一层封装?实现也花不了多少的功夫何至于大惊小怪。...例六的例子中,可能我们开发一个独立请求作者的信息的接口时实现代码完全复制自另一个接口的实现,但是接口的隔离长远看来能给功能的维护带来更大的便利 不仅限于 REST API “接口” 是一个概念。...目前看来绝大部分的方式是通过 REST API 来达成的,也并没有什么事情是 REST API 无法做到的,但事实这几年技术的进步给了我们更多的选择,如果选择更有针对性的实现方案,效果会更好 例如在实时数据的场景下...如果是后端之间的交互还可以利用 WebHook。通常对新技术持保留态度,但是不得不承认 GraphQL 处理某些需求也能够比 REST API 做的更好。

43020

有理有据:一篇来自前端同学对后端接口的吐槽!

例如meta.code完全可以使用 HTTP code 代替,看不出始终要保证 200 返回以及自定义 code 的意义在哪里 而至于其它的 meta 信息,可以通过以X-开头的自定义 HTTP Header...API 和代码应该是精准的,准确表达你想实现的一切而不存在有歧义 有人可能会说不就是多了一层封装?实现也花不了多少的功夫何至于大惊小怪。...例六的例子中,可能我们开发一个独立请求作者的信息的接口时实现代码完全复制自另一个接口的实现,但是接口的隔离长远看来能给功能的维护带来更大的便利 不仅限于 REST API “接口” 是一个概念。...目前看来绝大部分的方式是通过 REST API 来达成的,也并没有什么事情是 REST API 无法做到的,但事实这几年技术的进步给了我们更多的选择,如果选择更有针对性的实现方案,效果会更好 例如在实时数据的场景下...如果是后端之间的交互还可以利用 WebHook。通常对新技术持保留态度,但是不得不承认 GraphQL 处理某些需求也能够比 REST API 做的更好。

90620

GraphQL是API的未来,但它并非银弹

作者 | Jens Neuse 译者 | 平川 策划 | 蔡芳芳 认为,GraphQL 将改变世界。将来,你可以使用 GraphQL 查询世界的任何系统。创造这样的未来。...相反,认为它实际使情况变得更糟。 你必须支持移动应用程序?你应该意识到,发布原生应用需要时间。你必须等待应用商店的审批,你会发现,许多用户永远不会(或缓慢地)安装新版本。...使用 REST,你可以创建一个新端点或现有端点的另一个版本。问题是一样的,只是解决方案看起来有一点不同。 需要说明的是,如果你无法控制客户端,确实就需要某种版本控制。...很确定他了解部分响应。猜他想说的是,部分响应需要有人实现。实际,这与你 GraphQL 中从一个资源里选择子字段非常类似。 GraphQL 中,这是个开箱即用的特性。...你可以向模式添加自定义指令,以获得类似于 OAS 的结果,但你必须得自己维护这样的自定义实现。 你可能会认为,OAS 不能保证 API 的响应符合规范。你说的对。

2K10

为什么应该使用RESTful Web服务设计

当客户机有非常相似的需求和工作流,并且可能在不同的平台上时,HTTPREST非常好。 当带宽很贵,并且您不确定客户需要什么时,GraphQL很不错。...进一步深入之前,花一些时间对可用资源进行一些分析。 一旦您确定HTTPREST是正确的选择,让我们来看看RESTful web服务的一些方面,它们可以让您深入了解优秀的API设计。 1....RESTful Is Resourceful 喜欢rest式服务如何迫使从资源的角度考虑问题。资源只是API中表示的东西。它不一定是数据库表,甚至也不一定是域模型实体。它构建了整个API。...您的消费者甚至可以从中创建验证器。 3. RestFUL, Not REST 通常情况下,完全休息和使用超媒体并不常见。然而,使用RESTful服务可以帮助我考虑的消费者将如何使用API。...消费者应该能够移除它?这些是经常使用的问题。 5. 想想以前那些使用返回错误状态码的API 发现查看HTTP状态代码对了解资源上操作时会发生什么很有用。无法找到资源?

1.5K30

REST API 设计最佳实践:如何构建、设计和使用 API

的职业生涯中有很大一部分时间都参与了构建、设计和使用API 的项目。见过的大多数API 都“声称” 是 “符合REST原则”的——意味着遵循 REST 架构的原则和约束。...因此决定写篇文章分享一下,设计 REST API 时的最佳实践。以下是关于设计优秀REST API 的一些建议、提示和指导,帮助您让消费者(以及开发人员)满意。 1....将注意到:param 是一个URI参数(如ID或缩写)的占位符,你第一个想法可能是创建类似于这个的端点: GET: /books/:slug/generateBookCover/ 但是,在这里GET方法语法足以说明我们正在获取...实际API可以返回如下响应: HTTP/1.1 200 OK Content-Type: text/html{ "status": "failure", "data": {...虽然还没有创建资源(尚未),但这没问题。 有两个主要场景,觉得202 Accepted特别适用: 如果资源将在未来处理后被创建 — 例如:某个工作/流程完成之后。

35040

API自动化测试指南

企业投入大量资金来创建自定义功能GUI测试自动化框架,单很可能最终使他们对其可靠性失去了信心,直到人们停止投入。 同样,针对用户界面的GUI测试往往需要花费很长时间才能运行。...API测试 中间服务层是创建诸如Rest-Assured和Postman之类的工具的“最佳位置” 。 服务测试的重点是验证许多小组件的交互是否可以集成在一起而不会出现问题。...由于API测试绕过了用户界面,因此它们往往比GUI测试更快,更可靠。 最重要的是:由于API测试不依赖UI即可完成,因此可以开发周期的早期创建它们。...基本思想是,您正在使用工具进行性能测试,但是针对您的API运行例如负载测试之前,需要确保它实际可以正常工作。因此,您想先进行功能测试,然后可以利用功能测试脚本完成性能测试。...服务可以处理预期和意外的用户负载? 服务可以处理无效数据和错误数据导致的异常? Web服务测试术语 对于大多数测试人员而言,最大的障碍是适应谈论Web服务时使用的术语。

1.7K00

如何在Ubuntu 12.04安装和配置AppScale

数据存储API:Cassandra和ZooKeeper Memcache API:memcached 任务队列API:RabbitMQ和Celery XMPP APIejabberd 频道API:strophe.js...和ejabberd Blobstore API:Cassandra和ZooKeeper 图片API:PIL Cron API:Vixie Cron 课程准备 本教程中,您将需要: 带Ubuntu 12.04.5...这些工具可以安装在本地计算机或服务器。为简单起见,我们将在我们的服务器安装这些工具。Mac OS X和Windows的安装过程非常相似。你需要 Windows 使用Cygwin。...AppScale管理面板中,用户可以通过单击“ 创建帐户”创建自己的帐户。但是,您需要先使用管理员帐户更改其权限,然后才能上传和删除自己的应用。 单击右上角的“ 登录”按钮。...签署Guestbook App证明了许多API正常运行。我们现在可以使用此AppScale安装来部署基于Google App Engine的自定义应用程序。

1.4K00

Java一分钟之-Spring Data REST创建RESTful服务

本文旨在深入浅出地介绍如何使用Spring Data REST创建RESTful服务,探讨常见问题、易错点以及如何避免它们,并提供实用的代码示例。1....配置实体仓库创建实体类和对应的Repository接口,Spring Data REST会自动识别这些接口并暴露相应的REST端点。...然而,享受便利的同时,开发者也需注意避免数据过度暴露、缺乏自定义逻辑处理以及安全配置不足等问题。...通过合理配置和适时的自定义扩展,可以最大化Spring Data REST的效用,构建既安全又高效的REST服务。希望本文的介绍和示例能帮助你在实践中更好地运用Spring Data REST。...正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

7600

Elasticsearch Top 51 重中之重面试题及答案

14、请解释 Elasticsearch 集群中添加或创建索引的过程? 要添加新索引,应使用创建索引 API 选项。...聚合可帮助回答以下问题: 的网站平均加载时间是多少? 根据交易量,谁是最有价值的客户? 什么会被视为网络的大文件? 每个产品类别中有多少个产品?...推荐:Elasticsearch自定义分词,从一个问题说开去 26、你可以列出 Elasticsearch 各种类型的分析器?...34、REST API Elasticsearch 方面有哪些优势? REST API是使用超文本传输协议的系统之间的通信,该协议以 XML 和 JSON格式传输数据请求。...38、可以列出X-Pack API ? 付费功能只是试用过(面试时如实回答就可以)。

1.4K20

FastAPI框架诞生的缘由(

FastAPI 之前,前人已经创建了许多工具 。 几年来,一直避免创建新框架。首先,尝试使用许多不同的框架,插件和工具来解决 FastAPI 涵盖的所有功能。...各个模块之前的解耦,使之成为一个“微框架”,可以通过扩展为精确地提供所需的东西,这是想要保留的一项关键功能。 考虑到 Flask 的简单性,它似乎很适合构建 API。...Requests FastAPI 实际不是 Requests 的替代工具。它们的适用范围非常不同。实际FastAPI 应用程序内部使用 Requests 是很常见的。...Swagger / OpenAPI 想要 Django REST Framework 的主要功能是自动 API 文档。...然后发现 API 文档有一个标准叫 Swagger ,它使用 JSON 或 YAML 来描述。 并且 Swagger API 的 Web 用户界面已经被人创建出来了。

2.2K10

使用DDD来构建你的REST API,而不是CRUD

尽管这可以让开发人员觉得理解和开始工作变得简单了许多,是一个很好的起点,但是使用CRUD作为API的起点,有一个很大的疑问。就是CRUD中的U是最不喜欢的。...难道我们就不能添加业务约束到我们的更新方法?我们以简单的银行帐户资源为例,看看会发生什么。首先,客户端不应该调用一个API,然后就把账户余额更新为他们想要的数量,这不是乱套了吗?!...当然,并不是说你必须使用DDD来设计你的REST,但是,由于REST资源可以很好地映射到DDD实体,因此发现设计REST API特别适合使用DDD。 那么这是什么意思?...客户端,将变得更加的明确,什么操作可以执行,什么操作不可以执行。如果API文档记录的很好的话,例如使用Swagger来定义文档,那么每个API的限制(或约束)将变得非常明确。...如果你计划将API作为公共端点来公开,那么你就必须在非常长的时间内支持该API。基本认为它是软件标准的永远。总是鼓励团队以后难以改变的事情花时间,API就是这样的例子。

2.1K50

【微服务架构】微服务已死——迷你服务万岁

让我们试着解释一下为什么会这样,以及为什么错了是可以的。 微服务,迷你服务,它们都是小服务,不是的意思是,是的,你没有错,事实,这不是混乱发生的地方。...说实话,作为经理接受的 99% 的采访中,当我询问微服务时,我会得到关于 REST API 的回答。不,它们不一定是同一回事。...作为相关的旁注:有两种类型的 REST 开发人员(意味着开发人员创建 REST API): 那些实现了他们认为需要的尽可能多的关于 REST 的特性。...事实最近的这次演讲中,介绍了反应式架构的一些好处以及如何使用 Redis 创建一个: 水平扩展您的服务非常容易。...然而,对于消息总线来说,这仅仅意味着服务恢复之前请求不会完成。消息总线可以将消息存储一段时间,从而允许创建更具弹性的架构。

66220

单个资源

例如之前做翻页的时候,总页数,当前页数等数据都放在了Header里面;而下一页和一页的链接则放在了响应的body里面。那这两个链接应该是资源的一部分?...这里如果媒体类型是之前自定义的那个,就会返回三个链接:本身,获取Countries,创建Country。...然后两个Action里,都是用的是application/json这个媒体类型,实际这个项目里目前大部分的API都是用的是application/json。...api-version=v1 自定义Header:例如:”api-version“=v1 但是RESTful的世界里,这些做法不是都可以的。...Entity Model里面添加了一个新的属性大洲 Continent,当然它是可空的: 而现在API的消费者可以创建Country的时候给Continent赋值也可以不赋值,这时,就需要再创建一个带有

48010

用ASP.NET Core 2.1 建立规范的 REST API -- HATEOAS

例如之前做翻页的时候,总页数,当前页数等数据都放在了Header里面;而下一页和一页的链接则放在了响应的body里面。那这两个链接应该是资源的一部分?...这里如果媒体类型是之前自定义的那个,就会返回三个链接:本身,获取Countries,创建Country。...然后两个Action里,都是用的是application/json这个媒体类型,实际这个项目里目前大部分的API都是用的是application/json。...api-version=v1 自定义Header:例如:”api-version“=v1 但是RESTful的世界里,这些做法不是都可以的。...而现在API的消费者可以创建Country的时候给Continent赋值也可以不赋值,这时,就需要再创建一个带有Continent属性的ResourceModel为POST这个动作: ?

84440

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券