写点什么

复合 Web API Play Framework 评估

  • 2011-07-16
  • 本文字数:719 字

    阅读完需:约 2 分钟

近日,来自 LinkedIn 的首席软件工程师 Yevgeniy Brikman 发表了一篇文章,谈到了他对 Java Web 框架——Play Framework 的评价与看法

Play 最吸引我眼球的是对异步编程的支持,这有助于并行地从多种后端服务器中获取数据并且支持 comet 风格的交互。

Play 旨在处理响应时间不定的极短请求。Play 可以临时“挂起”处于连接状态的 HTTP 请求。这样在处理等待时就可以将所需的资源降到最低限度,特别地,Play 使用了一个微型的线程池(通常数量为机器上的处理器个数加上 1)。这与现在大行其道的“一个请求一个线程”有着很大的差别。

根据服务器负载的不同,其事件处理方式所支持的并发数要比线程模型多很多;对于 comet 中的持续连接来说,该事件模型是唯一可行的方式。

Play 提供了几个模型来异步处理请求。你可以定义“Promise”值(它可以纳入到“waitall”语句中),在这种情况下,直到所有请求都已返回后执行才会继续,这对于从多个 Web API 中获取数据的情况来说是非常便捷的。Play 还通过 Java 匿名内部类来支持回调模型。此外,你还可以通过 Play 设定一个固定的时间,只有在这个时间后才会处理请求。

Play 的社区非常活跃,大家热火朝天的工作就是最好的宣传,Play 确实做到了 DRY(Don’t Repeat Yourself),并且对异步 I/O 的支持也被认为是 JVM 世界中做得最好的。当然了,Play 的文档 /JavaDoc 还需要改进,但我们会进一步评估 Play,看看它是否适合于 LinkedIn 的生态系统。

随着(移动)复合应用与 Web API 的日渐兴起,介于(移动)客户端与 Web API 之间薄薄的一层复合中间层逐渐涌现出来。Play 或是 Node.js 这样的框架是否会成为移动解决方案架构的关键呢?你对此有何看法?

查看英文原文: Evaluating Play for Composing Web APIs

2011-07-16 12:393584
用户头像

发布了 88 篇内容, 共 273.9 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

如何利用CST快速生成电机PWM控制信号_CST中国代理商

思茂信息

cst CST软件 CST Studio Suite

「组装式开发」:App开发首选方式?

FinFish

APP开发 小程序容器 小程序技术 组装式开发

AI驱动热更新技术范式重构:从效率工具到智能开发生态的演进路径

xuyinyin

研发排查问题的利器:一款方法调用栈跟踪工具

京东科技开发者

探索虚拟线程:原理与实现

京东科技开发者

【HarmonyOS 5】鸿蒙应用隐私保护详解

GeorgeGcs

代码生成革命:开源与商业平台的竞合密码

代码制造者

图形化编排

8 大最佳开源工具助力 Web 应用开发

NocoBase

GitHub 开源 开发者 开发工具 web 开发

如何在PPT中嵌入字体?办公常用的PPT技巧盘点!

职场工具箱

效率工具 PPT 办公软件 字体 AI生成PPT

Timefold 前世今生:从 OptaPlanner 到更快更强的开源优化引擎

PeterOne

人工智能 AI 后端

跨链代币开发:架起区块链未来的桥梁

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

小程序容器与SuperApp技术融合:构建高效前端开发新生态

xuyinyin

DApp 开发:开启去中心化应用新时代

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

YashanDB|C# 使用 ODBC 执行 SQL 报错:YAS-08008 的原因与应对

数据库砖家

数据库

YashanDB|BIN 函数详解:如何把数据转成二进制表示?

数据库砖家

数据库

深度解读ARM全新白皮书——《重塑硅基:AI时代的新基石》

GPU算力

gpu 芯片 arm ARM内核 #硅基

人工智能与智能合约:如何用AI优化区块链技术中的合约执行?

天津汇柏科技有限公司

智能合约 人工智能

AI大模型入门 (一):什么是大模型?

测试人

人工智能

区块链交易所开发:开启数字交易新时代

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

10 个最受开发者喜爱的开源 ERP / CRM 项目(GitHub Star 榜单)

NocoBase

GitHub 开源 开发工具 CRM ERP

数智司库:全球司库 战略增值

用友智能财务

数字化转型 解决方案 用友 数智化 司库

LangChain4j比SpringAI强在哪?一文读懂

王磊

Nacos源码—Nacos集群高可用分析

不在线第一只蜗牛

Java 前端 服务器

1688 代采系统功能深度解析:如何通过自动采集商品详情数据 API 接口实现高效运营

代码忍者

1688 API

分库分表后复杂查询的应对之道:基于DTS实时性ES宽表构建技术实践

京东科技开发者

YashanDB|AVG 函数详解:轻松搞懂平均值怎么计算

数据库砖家

数据库

【HarmonyOS 5】鸿蒙应用数据安全详解

GeorgeGcs

YashanDB 函数指南|ATAN2:计算反正切值的实用工具

数据库砖家

数据库

自动化测试与手工测试如何找到最佳平衡点?

测试人

人工智能

2025年北京最值得去的互联网公司

测试人

人工智能

复合Web API Play Framework评估_Java_Jean-Jacques Dubray_InfoQ精选文章