A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 滔哥 黑马帝   /  2013-4-1 15:34  /  3168 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

       如今,开源已成为业界互联网公司的一种发展趋势,许多公司在GitHub平台上开源其产品。北京时间3月19日,58同城开源其轻量级Java Web框架——Argo。
历史   

       Argo起源于58同城的内部Web框架wf(Web Framework)。

       据58同城内部数据显示,目前wf支撑着58同城几乎所有的Web站点,包括WAP和手机端的访问等,现在wf每天处理10亿级的请求。经过长时间的运作与运行,证明wf是一个可靠的、高效的Web框架。

作为一个有一定规模的互联网企业,如果在变化的互联网环境中上线一个项目,在软件开发中需要对三方面进行平衡:
  • 组织/公司,在一个组织内部,需要每个项目开发尽量有统一的风格、架构,学习成本、维护成本等尽可能低。
  • 运维,希望每个站点的配置和可执行部分分离,部署的方式相同。
  • 项目内部,希望程序员聚焦在业务上,可以快速实现产品需求、响应产品变化。 在此基础上,我们开发了wf。
Argo在wf做了大量优化和重构,以适应各组织软件开发的个性化需求,提升了系统性能,具有更好的可扩展性。Argo的开源反过来也促进wf2.0的开发。

理念
  • 约定优于配置,减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。Argo体系中有且只有一个组织级约定,规定包的命名、配置文件路径、日志文件路径等。组织的约定是不容侵犯,每个项目在组织级约定下工作。组织级约定建议以jar形式下发给各项目。
  • 简单,Argo可以不需要任何配置文件,项目代码结构简单,易于维护。
  • 纪律,包和类的命名都受组织级约定的控制,任何违反约定的行为可能导致系统无法正常运行。

特征Argo不是一个通用的Web框架,一个问题解决方案可能有很多,但在Argo中只提供一种解决方案。Argo在以下约定中工作:
  • SEO友好的URL结构,Argo天然支持RESTful的url结构,并能自动匹配合适的参数。
  • 零配置,甚至你不要web.xml就能在tomcat上运行。
  • 插拔式组件架构,可以灵活扩张功能。
  • 高安全性,提供集群模式下,避免ip欺骗等功能。

系统约定
Argo不是一个通用的Web框架,一个问题解决方案可能有很多,但在Argo中只提供一种解决方案。Argo在以下约定中工作:
  • servlet 3.0环境,主要针对Tomcat 7.x。
  • 基于        guice的Ioc,组织和项目可以各提供一个module注入模块,而且module的命名必须符合约定。
  • maven依赖,项目的代码体系和maven默认代码体系一致,maven以插件提供开发过程中所需要的开发运行环境(        jetty:run或        tomcat7:run)。
开发者们对此次开源的反响非常强烈,几乎一天时间就被收藏90次,fork34个。
那么,微博上的网友是如何响应的呢?不妨一起来看下:
SunnyerEric孙晗晓:   

现在到处都有开源项目可以用···传统的软件销售商们要颤抖了···以后IT销售这个行业会逐渐消失的吧。@微博平台架构 也得行动了
得意的那些事儿:   

第一时间用Maven构建了项目,初看了代码。总结一下,
1 大量使用零配置的谷歌GuiceIOC;
2 使用约定优于配置,各项目可以高效使用公用的WF;
3    充分利用2,加载Controller,Model和Conf ;
4 看到说明使用 Google的Guice IOC,大亮点!Guice速度比Spring快很多,而且不需要配置,亮点

欣谦-谦谦君子:
这个readme挺有专业水准。另,基于ioc和约定,web frmwork逻辑可以写好看,但难点在怎么简化page view/flow。
是否会掀起国内的开源热潮呢?也有网友直接惊呼:希望中国的开源事业越来越强大!各位网友不妨一起来讨论下。
开源地址:https://github.com/58code/Argo


转自 CSDN
                                                               

评分

参与人数 1黑马币 +30 收起 理由
张熙韬 + 30 赞一个!

查看全部评分

6 个回复

倒序浏览
滔哥的帖,义无反顾的顶。
回复 使用道具 举报
必须顶啊!
回复 使用道具 举报
好东西~~~~~
回复 使用道具 举报
{:soso_e179:}
回复 使用道具 举报
学习了,滔哥威武
回复 使用道具 举报
围观~~~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马