58同城的web框架 Argo Framework

Apache
Java
跨平台
58同城
2013-03-18
le284

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)。

加载中

评论(27)

红薯
红薯
来自 58 同城的 Web 框架 Argo
ChpiTer
ChpiTer
这个厉害 Argo
阿伏流
阿伏流
= = 除了58 还有其它的成功安利么 Argo
海空
海空
看源码先/ Argo
王振威
王振威
看来开源是潮流 Argo
韭菜根
韭菜根
Argo 不同意philosophy 第三条,约定可以有,也可以打破
Neeke
Neeke
php在努力变得像java,而java在努力像php一样随意。 Argo
专业打酱油
专业打酱油
web框架满天飞了! Argo
fmxzhou
fmxzhou
啥玩意! Argo

暂无资讯

12
回答
Argo,一个神奇的框架!

Argo,一个神奇的框架!

2013/03/21 22:14

没有更多内容

加载失败,请刷新页面

没有更多内容

使用Argo CD实现Kubeflow的GitOps

使用Argo CD实现Kubeflow的GitOps 原文:https://www.kubeflow.org/docs/use-cases/gitops-for-kubeflow/ 本指南将描述如何使用使用Argo CD实现Kubeflow-面向Kubernetes集群的机器学习框架的...

02/01 10:43
55
0
基于Kubernetes 的机器学习工作流

介绍 Pipeline是Kubeflow社区最近开源的一个端到端工作流项目,帮助我们来管理,部署端到端的机器学习工作流。Kubeflow 是一个谷歌的开源项目,它将机器学习的代码像构建应用一样打包,使其他...

01/03 12:40
54
0
轻松扩展你的机器学习能力 : Kubeflow

提起机器学习,尤其是深度学习,大家可能会对诸如Tensorflow,Pytorch,Caffee的工具耳熟能详。但其实在实际的机器学习的生命周期中,训练模型(上述工具主要解决的问题)只是整个机器学习生...

2018/09/17 02:40
6.7K
0
码云「最佳实践」征文获奖文章公布

我们在使用码云进行开发的过程中,经常会get到一些最佳的解决方法。如今越来越多的企业和开发者选择码云,为了给码云的使用者提供一个关于码云的操作参考、日常使用的最佳实践手册,我们在码...

07/02 18:25
766
0
使用UML创建模块库——第一部分(三)

MyEclipse 在线购买低至75折!火爆开抢>> 【MyEclipse最新版下载】 UML1建模文件存储在建模库中,建模可用于生成Java代码,或者可以从代码中生成模型。本教程将向您展示如何执行与建模资源库...

2018/08/02 11:10
11
0
前端开发CSS基础

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,...

2018/11/23 10:33
1
0
解决IIS SMTP无法发信的故障

这几天同事反映在线邮局发不了信,测试后真的发现果真如此,回想一下,这几天由于服务器速度慢,怀疑被人攻击而在IP设置里设置了端口过滤,只开放25,110,80等端口,还修改了SMTP的安全设置...

2015/07/22 12:26
18
0
前端开发CSS基础

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,...

2018/12/28 11:29
1
0
前端开发CSS基础

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,...

04/22 16:21
4
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部