写点什么

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

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

关注

评论

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

Java String 手工引用指针

HoneyMoose

DOM编程

大熊G

JavaScript 前端 6月月更

leetcode 279. Perfect Squares 完全平方数(中等)

okokabcd

LeetCode 动态规划 算法与数据结构

滴滴工程效能平台建设之路

laofo

互联网 DevOps 研发效能 持续交付 工程效能

一文走近ZMQ

No Silver Bullet

6月月更 ZMQ

Gitlab运维篇之——备份及恢复

阿呆

#GitLab 备份恢复

Fabric.js IText 手动设置斜体 🎋

德育处主任

JavaScript 前端 canvas Fabric.js 6月月更

Java String 性能和优化

HoneyMoose

如何进行高效简洁的电子文档管理

小炮

今天,SysAK 是如何实现业务抖动监控及诊断?&手把手带你体验Anolis OS|第25-26期

OpenAnolis小助手

Linux sig 龙蜥大讲堂 开源贡献 社区运维

Go Web 编程入门:验证器

宇宙之一粟

Go 语言 表单校验 6月月更

Java String 文字(Literal)和 对象(Object)初始化

HoneyMoose

5道面试题,拿捏String底层原理!

码农参上

string 底层原理 死磕 Java 基础

Linux开发_curl调用网络接口

DS小龙哥

6月月更

面试突击59:一个表中可以有多个自增列吗?

王磊

Java 面试

社区文章|MOSN 构建 Subset 优化思路分享

SOFAStack

负载均衡 开源 开发者 算法

唐太宗把微服务的“心跳机制”玩到了极致!

悟空聊架构

微服务 Eureka 悟空聊架构 6月月更 心跳机制

redis精讲系列介绍七-过期策略

Nick

Redis 核心技术与实战 6月月更 redis精讲 redis 过期策略 redis 底层原理

DOM 节点

Jason199

DOM js DOM事件 6月月更

axios框架入门教程

倔强的牛角

axios 6月月更

我对新能源汽车的一些看法(37/100)

hackstoic

新能源汽车 生活杂谈

Java自定义Once方法保障单次执行

FunTester

JAVA SOCKET编程——TCP/UDP

乌龟哥哥

6月月更

如何使用物联网低代码平台进行报表管理?

AIRIOT

物联网 低代码平台

Eureka的InstanceInfoReplicator类(服务注册辅助工具)

程序员欣宸

Java SpringCloud 6月月更

IDE 的主题应该用亮色还是暗色?终极答案来了!

胡说云原生

ide vscode IDEA goland ide主题

钟珊珊:被爆锤后的工程师会起飞|OneFlow U

OneFlow

自我介绍 实习

缓存穿透利器之「布隆过滤器」

Ayue、

redis 布隆过滤器

DingOS服务提交IPO配置指南

鼎道智联

前端 开发 IPO配置

Java 字符串引用(String Interning)

HoneyMoose

Java String 构造方法中的内存分配

HoneyMoose

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