当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

Argo Framework

58同城的web框架
授权协议 Apache
开发语言 Java
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 国产
投 递 者 燕寒
操作系统 跨平台
开源组织 58同城
适用人群 未知
 软件概览

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

Argo在wf做了大量优化和重构,以适应各组织软件开发的个性化需求,提升了系统性能,具有更好的可扩展性。Argo的开源反过来也促进wf2.0的开发。

哲学观 (philosophy)

  1. 约定优于配置,减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。Argo体系中有且只有一个组织级约定,规定包的命名,配置文件路径,日志文件路径等。组织的约定是不容侵犯,每个项目在组织级约定下工作。组织级约定建议以jar形式下发给各项目。

  2. 简单,Argo可以不需要任何配置文件,项目代码结构简单,易于维护。

  3. 纪律,包和类的命名都受组织级约定的控制,任何违反约定的行为可能导致系统无法正常运行。

系统特点 (features)

  1. SEO友好的URL结构,Argo天然支持RESTful的url结构,并能自动匹配合适的参数;

  2. 零配置,甚至你不要web.xml就能在tomcat上运行;

  3. 插拔式组件架构,可以灵活扩张功能;

  4. 高安全性,提供集群模式下,避免ip欺骗等功能。

系统约定 (convention)

Argo不是一个通用的web框架,一个问题解决方案可能有很多,但在Argo中只提供一种解决方案。Argo在以下约定中工作:

  1. servlet 3.0环境,主要针对Tomcat 7.x;

  2. 基于guice的Ioc,组织和项目可以各提供一个module注入模块,而且module的命名必须符合约定;

  3. maven依赖,项目的代码体系和maven默认代码体系一致,maven以插件提供开发过程中所需要的开发运行环境(jetty:runtomcat7:run)。

  • 在Argo中用到了Google-guice依赖注入框架:http://code.google.com/p/google-guice/ Google-guice 依赖注入框架主要由@Inject注解、AbstractModule基类组成   //google code上的例子 RealBillingService类构造时依赖CreditCardProcessor和TransactionLog接口,添

  • 58同城开源的轻量级web框架 https://github.com/58code/Argo   随着公司规模的不断扩大,项目越来越多了,单个项目投入的人也多了起来,每个程序员都有自己的一套编码风格。身为一个处女座程序员,深深感觉到无法忍受一团乱麻似的工程。于是就需要一套强有力的规范,而且规范最好能够分级,最低层的规范最为严格,导致大家写出的代码都能差不多,也就减少人员交叉过渡的成本,越靠近业务顶

  • 58同城开源的轻量级web框架 https://github.com/58code/Argo   有人说,为了这么一个小框架,花费这么长时间阅读,还分成这么多篇博客,小题大做。 仁者见仁智者见智吧,大家在学习过程中都有自己的一套方式方法,适合自己的就是最高效的。框架工具无分大与小、好与坏,人家花了大量时间琢磨研究这样一个框架,并且大范围运用起来,肯定是有道理的,至于能吃得多透,还得结合各自的实际经

  • 58同城开源的轻量级web框架 https://github.com/58code/Argo   今天开头说说抽象,面向对象的特点:抽象、继承、多态,好的设计都是基于优秀的抽象,抽象层次越高、越完善,他的扩展性就越好,也越容易理解。好比居家过日子,多多少少需要一些工具,可切割的、可裁剪的,这就是两个interface,于是我们准备了刀和剪子,就是一种实现。再后有了水果刀和切菜刀、园艺剪子和裁衣服剪

  • 58同城开源的轻量级web框架 https://github.com/58code/Argo 前面简单的写了点关于Argo使用的基本方法和Demo示例,其实只要前后看两遍,是很容易上手的。更多的人还是关注为什么要做这样一个框架,以及他是否能为开发人员解决常见问题,提高工作效率。   对比Struts、Webwork、springMVC,他们提供的功能实在太多了。Struts1当前应用最广,现在还有

  • 近日,@58同城开源 微博称,58同城轻量级Web框架Argo正式开源。目前Argo支撑着58同城几乎所有的Web站点,包括Wap和手机端的访问等,现在Argo每天处理10亿级的请求。经过长时间的运作与运行,证明Argo是一个可靠、高效的Web框架。 Argo在GitHub上的地址:https://github.com/58code/Argo,Argo是希腊神话中的一艘船,58所有开源项目都将采用

 相关资料
  • 本章重点介绍Web框架及其部署。 PyCharm具有部署代码和文件的简单功能。 要使用PyCharm部署代码,我们需要添加一个带有菜单选项Settings -》 Build, Execution-》 Deployment的Web服务器。 现在,包括部署项目所需的各种配置的所有设置。 在Mappings选项卡中,用户可以指定本地代码的位置以及远程复制到何处。 可以使用Tools -》 Deploym

  • 10.18 一面 只记得这些了 大文件切片上传我会怎么做 切片的大小怎么设置 服务端怎么检验 每一个切片里都包含什么,id,md5? 断点续传 服务器怎么区分切片上传上来的文件 除了MD5,你觉得还有什么能作为文件的唯一值呢?路径+名字? bind 多个bind链式调用的话,此时this指向谁? 10.23 二面 纯项目 介绍项目 参考了什么组件库 eslint代码配置 怎么用less管理的样式

  • 已凉┭┮﹏┭┮ 一、首先夸夸58真的很尊重应聘人员 HR提前一天电话联系询问是否有时间 确定有时间后发正式约面邮件 面试前会有邮件和短信提醒 二、面试内容 应聘岗位:算法工程师 面试时长:30min 问题: 自我介绍 介绍一下项目使用的模型 上过什么课程 进程和线程的差别 对数据结构的了解,有什么排序算法,快排的时间复杂度和空间复杂度 梯度消失和梯度爆炸 有什么损失函数 了解什么传统机器学习算法

  • 同城 运营岗 一面(业务面)面试时长:20分钟 1.自我介绍 2.实习经历深挖 3.酒店的活动策划思路? 4.你的简历里面写你熟悉抖音快手的段子,有什么网络热点这段时间? 5.你了解电商平台的运营模式吗?是怎么样的 6.目前手上有几个offer?预期的薪资是多少? 反问: 1.具体的工作内容 2.该岗位候选人应该具备什么样的能力? 二面(业务面)面试时长:25分钟 1.自我介绍 2.策划一个与节日

  • tornado.web — RequestHandler and Application classes Thread-safety notes Request handlers Entry points Input Output Cookies Other Application configuration Decorators Everything else tornado.template

  • 本章重点介绍Web框架及其部署。 PyCharm具有部署代码和文件的简单功能。 要使用PyCharm部署代码,我们需要添加一个带有菜单选项:Settings -> Build, Execution -> Deployment 来部署Web服务器。 现在,包含部署项目所需的各种配置的所有设置。 在Mappings 选项卡中,用户可以指定本地代码的位置以及它应该远程复制到的位置。 代码可以使用工具菜单

  • 第一题 第二题 第三题 #校招##笔试##58集团##58同城##java#

  • 1.自我介绍 2. 强缓存,协商缓存 3. 跨域 4. 性能优化,如果页面白屏怎么解? 5. 深挖项目 6. 快排算法