写点什么

复合 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:393483
用户头像

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

关注

评论

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

Android技术分享| ViewPager2离屏加载,实现抖音上下视频滑动

anyRTC开发者

android 音视频 移动开发 ViewPager 视频滑动

对象存储手把手教七 | 存储空间授权策略 Bucket Policy

QingStor分布式存储

分布式系统 对象存储 分布式存储 分布式,

实战篇:断点续传?文件秒传?手撸大文件上传

阿Q说代码

断点续传 签约计划第二季 文件秒传 文件分块 文件合并

看了这么多年西游记,你可知道孙悟空是如何召唤土地公公的吗?

阿Q说代码

Java 观察者模式 签约计划第二季 事件通知机制

后端开发实战总结 | 签约计划第二季|后端

阿Q说代码

内容合集 签约计划第二季 技术专题合集

看FusionInsight Spark如何支持JDBCServer的多实例特性

华为云开发者联盟

大数据 SQL语句 FusionInsight Spark JDBCServer 多实例

还在用BeanUtils拷贝对象?MapStruct才是王者!【附源码】

阿Q说代码

Java MapStruct 签约计划第二季 深拷贝与浅拷贝

恒源云(GPUSHARE)_GPU白嫖大法来袭!

恒源云

深度学习 gpu 算力加速

IoT Stack 2.0升级物模型及数据交互协议, 大幅提升物联网方案交付速度

百度大脑

人工智能 百度 物联网

全程干货,用 python 下载某站全部【免抠图片】,图片背景透明,格式PNG

梦想橡皮擦

12月日更

如何在 ShardingSphere 中开发自己的 DistSQL

SphereEx

Java 数据库 ShardingSphere database SphereEx

『上线』OpenSEC SIGs 终于成立了!

SphereEx

开源社区 ShardingSphere SphereEx 中文开源 OpenSEC

Flink CDC 系列 - 构建 MySQL 和 Postgres 上的 Streaming ETL

Apache Flink

大数据 flink 编程 后端 实时计算

Linux学习方法《Linux一学就会》Linux系统进程管理

侠盗安全

Linux linux运维 运维工程师 云计算架构师

语法糖甜不甜?巧用枚举实现“状态”转换限制

阿Q说代码

枚举 签约计划第二季 语法糖 订单状态转换

PackML从会到不会——标签(3)

陈的错题集

标准化 PackML

【量化】股市技术分析利器之TA-Lib(一)

恒生LIGHT云社区

量化投资 量化

高校企业双向赋能,首届飞桨启航菁英计划圆满结束

百度大脑

人工智能 百度 飞桨

博文推荐|使用 Pulsar IO 打造流数据管道

Apache Pulsar

Java 开源 架构 云原生 Apache Pulsar

秒过!度目智慧通行让常态化防疫更高效

百度大脑

人工智能 人脸识别

WeTest小程序质量专项方案推出,小程序异常监控内测招募中

WeTest

用户登录设计之双token设计

CRMEB

长连接网关技术专题(六):石墨文档单机50万WebSocket长连接架构实践

JackJiang

websocket 即时通讯 IM 网关

如果还不懂如何使用 Consumer 接口,来公司我当面给你讲!

阿Q说代码

函数式接口 签约计划第二季 consumer 实战讲解 supplier

Spark从入门到精通

冇先生

「Spark从精通到重新入门(一)」Spark 中不可不知的动态优化

尔达Erda

云计算 大数据 spark 开发者 感悟

Flink 是如何统一批流引擎的

编程江湖

大数据 flink

大数据中不同文件格式的比较

吴脑的键客

大数据 云存储

【活动报名】Apache ShardingSphere Dev Meetup 重启!

SphereEx

开源项目 开源社区 ShardingSphere Meetup SphereEx

实战篇:Security+JWT组合拳 | 附源码

阿Q说代码

spring security JWT 签约计划第二季 权限验证

看了同事写的代码,我竟然开始默默的模仿了。。。

阿Q说代码

策略模式 多态 签约计划第二季 自定义参数解析器 统一验签

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