BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

58同城开源其轻量级Web框架Argo

| 作者 贾国清 关注 0 他的粉丝 发布于 2013年3月20日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

近日,@58同城开源 微博称,58同城轻量级Web框架Argo正式开源。目前Argo支撑着58同城几乎所有的Web站点,包括Wap和手机端的访问等,现在Argo每天处理10亿级的请求。经过长时间的运作与运行,证明Argo是一个可靠、高效的Web框架。

Argo在GitHub上的地址:https://github.com/58code/Argo,Argo是希腊神话中的一艘船,58所有开源项目都将采用希腊神话系列命名,这也包括早先开源的服务通信框架Gaea

Argo起源于58同城的内容Web框架WF(Web Framework)。目前WF支撑着58同城几乎所有的Web站点,包括Wap和手机端的访问等,现在WF每天处理10亿级的请求。经过长时间的运作与运行,证明WF是一个可靠的、高效的Web框架。Argo在WF做了大量优化和重构,以适应各组织软件开发的个性化需求,提升了系统性能,具有更好的可扩展性。Argo的开源反过来也促进WF2.0的开发。

Argo不是一个通用的Web框架,主要工作环境是:

  • Servlet 3.0环境,主要针对Tomcat 7.X;
  • 基于Guice的loc,组织和项目可以各提供一个module注入模块,而且module的命名必须符合约定;
  • Maven依赖,项目的代码体系和Maven默认代码体系一致,Maven以插件提供开发过程中所需要的开发运行环境

Argo的设计遵循“约定优于配置”、简单和纪律严明的哲学观,既可以减少软件开发人员做决定的数量,又不失灵活性。同时,Argo项目代码结构简单,可以不需要任何配置文件。

关于The Gaea Project

Gaea是服务通讯框架(Service Communication Framework)支持跨平台具有高并发、高性能、高可靠性,并提供异步、多协议、事件驱动的中间层服务框架。

关于58同城开源

微博账号:@58同城开源
联系邮箱:code@58.com

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

希望中国的公司能贡献出更多优秀的开源项目,提升中国开源社区的整体实力 by Chen Feng

希望中国的公司能贡献出更多优秀的开源项目,提升中国开源社区的整体实力

Re: 希望中国的公司能贡献出更多优秀的开源项目,提升中国开源社区的整体实力 by Lee Vincent

问一下,大家觉得这世界上的web框架是太多了还是太少了呢?

Re: 希望中国的公司能贡献出更多优秀的开源项目,提升中国开源社区的整体实力 by Lee Vincent

就说JavaEE领域吧,还可以分成好几大类:
基于servlet的请求响应类:struts1、webwork2、struts2、springmvc、apache wicket、grails、play
基于组件的RIA类:jsf系的n种实现、gwt系列(好几个分支)、apache click、vaddin、zk

servlet类的那些framews往往还要结合jsp、freemarker、velocity、sitemesh、tiles等模板技术才能实现一个端到端的App;
还没完,前端页面效果得好看吧,不用ajax不好意思跟人打招呼吧,好了,有上百种js框架供你选择。

不说学习这些东西,光选择起来就够头疼的。

Re: 希望中国的公司能贡献出更多优秀的开源项目,提升中国开源社区的整体实力 by Lee Vincent

以上还只是列举的比较主流的框架,像seam、stripes等半死不活的都没提。
这实在是太多了,给开发者造成巨大困扰,而且是一种巨大的浪费。

简单看了下github.com/58code/Argo的介绍,没发现这个框架提供任何独特的东西,
作为一个webframework,没发现其任何一点比SpringMVC3好的地方;
使用maven和guice也跟主题无关。

Re: 希望中国的公司能贡献出更多优秀的开源项目,提升中国开源社区的整体实力 by mark g

“Argo不是一个通用的Web框架。”

已经说的很清楚了,您这比较个什么劲呢?

看看人家要解决什么问题再喷好不好呢。

单纯 每天处理10亿级的请求 并不能证明高效和稳定 by dcgame dcgame

单纯 每天处理10亿级的请求 并不能证明高效和稳定。
处理 10亿级的请求 的技术解决方案,不仅仅在java web框架这一层面上。
有骗眼球的嫌疑

Re: 单纯 每天处理10亿级的请求 并不能证明高效和稳定 by dcgame dcgame

单纯 每天处理10亿级的请求 并不能证明高效和稳定。
处理 10亿级的请求 的技术解决方案,不仅仅在java web框架这一层面上。
有骗眼球的嫌疑

自己补充一下,能把这个框架拿出来让大家看看,还是值得欣赏的。

Re: 希望中国的公司能贡献出更多优秀的开源项目,提升中国开源社区的整体实力 by Lee Vincent

谁关心你是不是通用的呢?

【系统特点 (features)
SEO友好的URL结构,Argo天然支持RESTful的url结构,并能自动匹配合适的参数;
零配置,甚至你不要web.xml就能在tomcat上运行;
插拔式组件架构,可以灵活扩张功能;
高安全性,提供集群模式下,避免ip欺骗等功能。】
前三个特点毫无新意,第四个完全可以单独做成一个小的安全lib,

Re: 希望中国的公司能贡献出更多优秀的开源项目,提升中国开源社区的整体实力 by yang burgess

play不是遵循servlet标准的web框架。 它是颠覆性的框架。

框架多并不是一件坏事。世界万物本来就是多姿多彩的。不同的框架有不同的用处。

为何要全部大一统呢。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

9 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT