`
wbj0110
  • 浏览: 1603108 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

58同城的web框架 Argo

阅读更多

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

58code / Argo

分享到:
评论

相关推荐

    58同城的web框架 Argo.zip

    Argo,源自58同城,是一款强大的开源Web框架,专为构建高性能、高可扩展性的Web应用而设计。基于Java语言,Argo在58同城内部广泛应用于各种Web站点,包括移动端和WAP访问,展现出了其在处理大规模并发和复杂业务场景...

    58同城开源框架

    【58同城开源框架】是58同城公司推出的一款开源技术框架,旨在为开发者提供高效、稳定、可扩展的开发工具。这个框架凝聚了58同城在互联网服务领域的技术积累,体现了其对软件工程的最佳实践,有助于提升开发效率,...

    argo.jar 开源的web框架

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

    《58同城架构演进与优化二三事》沈剑

    - **自研系统**:开发了专门的图片存储系统,以及一套完整的开发框架(包括Web框架Argo和服务框架Gaea),大大降低了站点和服务的开发成本。 #### 四、更大流量挑战及解决方案 - **面临的新挑战**:如何应对更高的...

    Argo 水平和垂直样式管理后台模板UI框架

    代码超级干净,可以很容易地定制,很容易转化为任何类型的web应用程序,包括自定义管理面板,数据分析仪表盘,电子商务后端、CMS、CRM或任何SASS面板。 主要特色 响应布局(台式电脑、平板电脑、移动设备) 用Bootstrap...

    ArgoUML-0.14.zip_Argo_argouml

    7. **log4j.jar**:Apache的Log4j是一个广泛使用的日志记录框架,用于记录程序运行过程中的各种事件和错误,便于调试和问题定位。 8. **i18n.jar**:这个文件与国际化(Internationalization)相关,意味着ArgoUML...

    ARGO入门手册1

    ARGO入门手册1为用户提供了一个全面了解ARGO项目和ARGO数据的指南,包括ARGO浮标的工作原理、ARGO数据的类型和获取方式、ARGO数据的应用等方面。该手册旨在帮助用户更好地理解和使用ARGO数据,从而推动全球海洋研究...

    argouml.jar.zip

    JAR文件的主要用途包括:合并代码库、压缩资源、提供版本控制、签名代码以确保安全,以及启用Java applet和Java Web Start应用。在ARGO UML的上下文中,argouml.jar包含了所有的类和资源,使得用户可以直接运行此...

    CI/CD-ArgoCD交付管理

    在Kubernetes (K8s) 集群环境中,ArgoCD 是一种流行的工具,它实现了声明式的GitOps持续交付,增强了CI/CD流程的效率和可靠性。 **ArgoCD简介** ArgoCD 是一个开源项目,专门设计用于Kubernetes的持续交付。它提供...

    ArgoUML工具包

    **ArgoUML工具包详解** ArgoUML是一款开源的计算机辅助软件工程(CASE)工具,主要用于统一建模语言(UML)的建模。它提供了丰富的功能,让用户能够便捷地设计、创建和管理UML模型。这款轻量级的应用程序在Java平台上...

    ArgoUML最新版源码

    **ArgoUML 最新版源码详解** ArgoUML 是一个开源的统一建模语言(UML)建模工具,专为软件开发者和设计师提供便捷的UML模型创建环境。该工具支持多种编程语言的代码自动生成,包括C++、C、Java、PHP、SQL和C#等,极...

    ArgoUML最新版

    **ArgoUML 最新版** **一、ArgoUML简介** ArgoUML是一款免费且开源的统一建模语言(UML)建模工具,它允许用户创建、编辑和管理各种UML模型。该软件是由Tigris组织开发并维护的,广泛应用于软件工程领域,特别是...

    ArgoUML mac 工具

    **ArgoUML for Mac工具详解** ArgoUML是一款开源的、基于Java编写的统一建模语言(UML)设计工具,适用于多种操作系统,包括Mac OS X。它提供了全面的UML支持,使得软件开发者和系统分析师可以方便地创建、编辑和...

    ArgoUML UML绘图工具

    9. **log4j.jar** - Apache Log4j,是一个广泛使用的Java日志框架,用于记录应用程序的运行日志。 10. **argouml-mdr.jar** - 与MDR(Meta-Object Facility Model Driven Architecture)相关,用于支持模型驱动架构...

    ArgoUML 0.34 使用手册

    在介绍部分,手册会涵盖ArgoUML的起源和概述,包括面向对象分析和设计的基本理念、ArgoUML的发展历程以及如何获取关于ArgoUML项目的更多信息。手册还界定了目标受众和使用范围,确保用户可以根据自己的需求和背景来...

    基于Python绘制Argo全球数据的可视化图像.zip

    •绘制 Argo 全球数据的可视化图像 •2. 功能要求: •能够下载 Argo 数据 •能够处理 NetCDF4 格式文件,并且从中提取所需数据 •能够使用 Matplolib 可视化图像 •拥有 GUI 界面 •可选动态化结果 •3. 程序...

    argo-2.4.jar.zip

    标题中的"argo-2.4.jar.zip"是一个压缩文件,其中包含了名为"argo-2.4.jar"的Java档案(JAR)文件。在Java开发中,JAR(Java Archive)文件是用于打包多个类文件、资源文件以及元数据的容器,便于分发和执行。JAR...

    UML argo建模工具下载

    在下载的"ArgoUML-0.30.2-setup.exe"文件中,包含了argoUML的安装程序。运行该文件将启动安装向导,按照向导的指示进行操作,即可在您的计算机上安装argoUML。安装完成后,你可以通过这个工具开始创建和编辑你的UML...

    argouml快速入门电子书 PDF

    ### ArgoUML快速入门知识点概述 #### 一、ArgoUML简介 ArgoUML是一款开源的统一建模语言(Unified Modeling Language, UML)工具,支持大部分UML 1.4标准中的图类型。它适用于软件设计师、开发人员和其他相关人员在...

    BGC_ARGO数据,叶绿素浓度

    【标题】"BGC_ARGO数据,叶绿素浓度"所涉及的知识点主要集中在海洋生态学、遥感技术以及数据处理领域。BGC_ARGO(Biogeochemical Argo)是全球海洋观测网络ARGO(Automatic Reporting Oceanographic Observers)的一...

Global site tag (gtag.js) - Google Analytics