用于部署的语言/堆栈[关闭]

2024-03-07

我正在进行相当密集的重写,并可以选择以下选项:

  • JSP/Java 运行在 Tomcat 上
  • PHP 运行在 Apache 下
  • Ruby(我不确定在 ROR 下运行?)

关于上述内容,我想了解几个基本问​​题。

速度是一个问题。我们有一个 MongoDB 支持的数据库,因此我们不需要等待数据库获取信息,但前端需要尽可能快。俗话说“速度不是问题”在这里并不适用。如果您在一个请求中处理 500k 以上的对象,那么它需要足够快。

可扩展性是另一个问题。假设我们的数据库失控了。 (上述哪一个)可以提供最简单的处理方法?

Tomcat/JSP 和 Ruby 的常见缺点是什么?使用 PHP 或 Ruby 可以轻松实现并行处理吗?

我们的目标不是省钱,而是构建一个可靠、快速、可扩展的系统,以便在未来几年继续开发。

老实说,我是一名前 Java 开发人员(notJSP) 转变为 PHP 开发人员。我对任何事情的偏好都是 PHP,但我也坚信使用正确的工具来完成工作。该团队有足够的能力来写这就是我们所要做的任何事情


根据迄今为止有限的信息,似乎其中任何一个都是可以接受的。在启动新项目时,我开始考虑的重要事情更多是关于 ORM 和框架,而不是速度。我每在一个项目上多花费 40 个小时的开发时间,我就可以配置和运行一台新服务器一年。

如果您的开发人员更熟悉特定语言的 API,那么仅凭这一点就可以(可能)做出您的决定。如果您可以在 10 台服务器上并行处理 500k 个事物,并且选择语言(和 API/库)A 而不是 B 将为您节省 10 周的时间,那么这就是您的收支平衡点。同样,如果一组事物的速度慢 2 倍,并且拥有 2 台服务器而不是 1 台服务器可以使您的处理速度加倍,那么只需要 1 周的时间以“更快”的语言进行额外的战斗,您的所有性能收益就会被抹去。更长的开发时间...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于部署的语言/堆栈[关闭] 的相关文章

  • Chrome 问题:“无法加载资源:net::ERR_CONNECTION_TIMED_OUT”

    我尝试通过 HTTPS 访问我的 Web 应用程序 它无法加载 JavaScript 文件并显示 无法加载资源 net ERR CONNECTION TIMED OUT 但它在 IE 和 Firefox 中按预期工作 通过 HTTP 在 C
  • 如何解析cURL返回的header?

    我正在尝试使用 cURL 与 API 进行通信 其中一种方法要求我传递ININ ICWS CSRF Token标题 即WAhtYWxoYXlla1dBY2NvUkRJWCQxZmUxZWFhZS0xZTE0LTQyNGYtYjdhZS0zN
  • 自动将 JSON 对象映射到 Ruby 中的实例变量

    我希望能够自动将 JSON 对象解析为实例变量 例如 使用此 JSON require httparty json HTTParty get http api dribbble com players simplebits gt shots
  • 在 Drupal 中选择性地删除页面的样式表

    我正在尝试为首页制作不同的布局 在此过程中 我声明了名为 front page css 和 page front tpl php 的新样式表 我正在使用加载responsive sidebar css 的 Zen 子主题 我想删除 resp
  • 知道何时调用 persist

    我正在使用 Doctrine 2 作为我的 ORM 一切进展顺利 但我一直想知道EntityManager persist 方法 这 持久实体 https www doctrine project org projects doctrine
  • TCPDF / FPDI 可以接受 PDF 作为字符串吗?

    是否可以将 TCPDF 或 FPDI PDF 作为字符串提供 我有一个传入的 PDF 数组作为字符串 但无法写入磁盘 我在文档中找不到与此相关的任何内容 如果没有 是否有一种有效的方法来从内存或作为对象存储 读取这些 PDF 将它们喂给 F
  • 在 PHP 中拆分 XML

    我有一个带有根元素和多个项目子元素的合并 xml 像这样的东西
  • 从目录中读取所有文件内容 - php

    这实际上是一个简单的任务 我想显示指定文件夹中所有文件的内容 我正在传递目录名称 echo a href row qname a 在第二页上 我正在迭代目录内容 while entryname readdir myDirectory if
  • 打印一个模式以显示最多 5 行 5 列的数字,例如 5 4 3 2 1 和下一行 4 3 2 1 5 直到第 5 行

    这是一个正方形图案 每行有 5 列 共有 5 行 图案如下所示 5 4 3 2 1 4 3 2 1 5 3 2 1 5 4 2 1 5 4 3 1 5 4 3 2 我的代码如下以获得模式 但当计数器达到 1 并显示在相应的列值中时 我无法重
  • 在应用程序服务器上存储 PDF 一段有限的时间并可供下载

    您好 我正在使用 PrimeFaces 5 JSF 2 和 tomcat 有人可以向我展示或给我一个关于如何在应用程序服务器上在有限时间内存储 pdf 的想法吗 我正在使用 tomcat 然后下载它 如果这是用户请求的 此功能与发票相关 因
  • 使用哈希时 fetch 与 [] ? [复制]

    这个问题在这里已经有答案了 来自鲁比 科恩斯about hashes rb 为什么你可能想使用 fetch代替 当访问哈希键时 默认情况下 使用 如果存在则检索哈希值 如果不存在则返回 nil Using fetch给你一些选择 请参阅文档
  • 处理 Rails 2.1.x 中的 RoutingError 的最佳方法?

    我正在使用Rails 2 1 中的routing rb 代码 并尝试让它达到这样的程度 我可以对找不到合适路径时抛出的RoutingError 异常执行一些有用的操作 这是一个有点棘手的问题 因为有一些 URL 类别纯粹是糟糕的 azenv
  • 同一路由组的多个前缀

    我正在为一所学校编写一个相当简单的网站 该网站有新闻 文章 视频剪辑 等 它的工作方式是在主页中我们向访问者展示一些课程 例如 gt math gt geography gt chemistry 用户在其中选择 1 网站内容会根据用户的选择
  • Opencart 的 $this->config->get('module_var_name')

    我正在尝试自定义 Opencart 支付模块 我看到很多地方都使用了配置信息 但我找不到任何创建正在使用的变量的内容 我知道在管理页面中 如果我选择 paypal 标准 我可以设置所有 配置 信息 但我找不到强调它的 模型 是否有模型 我希
  • 根据类别 woocommerce 更改同一产品的默认变体值

    我正在研究一种根据其所属类别显示同一产品的默认变体值的方法 例如 我出售一张带有蓝色和红色选项的卡 当用户进入 一 类别时 我希望默认值为蓝色 如果他属于第二类 则该值将为红色 我发现了一个钩子woocommerce product def
  • PHP 和 MySQL 的重音字符错误

    我的问题是 直接通过 PHP 编写的内容是正确重音的 但是当重音单词来自 MySQL 时 字母会像这样 我尝试使用html charset as ISO 8859 1它修复了 MySQL 字母 但破坏了其他字母 解决这一切的一种方法是设置我
  • MySQL 中布尔值的 TINYINT 与 ENUM(0, 1)

    MyISAM 表和 MySQL 5 1 中具有 0 和 1 值的 Tinyint 或 ENUM 0 1 哪个更好 您可以使用BIT 1 如中提到的MySQL 5 1 参考 http dev mysql com doc refman 5 1
  • 如何使用xquery查找节点并向其添加子节点?

    是否可以使用xpath xquery查询特定的xml节点 然后向其导入 添加子节点 示例 代码取自http codepad org gJ1Y2LjM http codepad org gJ1Y2LjM 这是在类似的问题中提出的 但不相同 1
  • PHP 相当于朋友或内部

    php 中是否有相当于 朋友 或 内部 的东西 如果没有 是否有任何模式可以遵循来实现这种行为 Edit 抱歉 但标准 Php 不是我想要的 我正在寻找类似于马戏团长所做的事情 我有一些类在后端进行 C 风格的系统调用 并且杂耍已经开始变得
  • MySQL 正在将我的时间戳值转换为 0000-00-00

    我是 PHP 新手 目前仍在学习中 我认为我的注册表有问题 username password email全部成功插入MySQL registered and last seen不要 我以为我正在使用getTimestamp 错了 但它呼应

随机推荐

  • 在 C++ 中使用“void”模板参数

    采取以下最小示例 using Type1 std function
  • 使用循环向mysql插入100000条数据

    我想在mysql中用循环插入数据 100000 当我运行没有错误 但数据没有插入到我的表中时 这是我的查询 DELIMITER DECLARE i INT DEFAULT 1 WHILE i lt 100 DO INSERT INTO vo
  • 使用 RestTemplate 的 Spring Web 服务的超时配置

    我想使用 RestTemplate 在客户端为 Spring Web 服务配置超时 我尝试了以下配置
  • 批处理文件:列出特定文件夹中的rar文件并将结果写入文本文件

    我有一个文件夹 其中包含一些 rar 文件和子文件夹 这些子文件夹包含 rar 文件或子文件夹 递归结构 我想编写一个批处理文件 列出此文件夹树 完整路径 中的所有 rar 文件 结果被写入文本文件 Example 具体文件夹 Quest
  • WordPress - 将特色图像添加到自定义帖子类型

    我正在尝试将特色图像添加到我的主题中 但不适用于帖子或页面 我创建了一个名为 属性 的自定义类型 用于房地产经纪人 那么如何启用特色图像 因为它没有出现在场景选项中 希望有人能帮忙 property new Cuztom Post Type
  • Oracle无法从LONG数据类型转换为CLOB数据类型(数据类型不一致错误)

    Oracle 11g 在尝试将 long 数据类型转换为 clob 时出现以下错误 我尝试 select to lob long col name from table1 I get Error Execution 1 39 ORA 009
  • 定制频道wifi直连

    谁能告诉我 有没有自定义 wifi direct 频道的选项 我不仅需要在 ch1 ch6 和 ch11 之间进行自定义 还需要在我选择的其他频道中进行自定义 我怎样才能做到这一点 要更改设备 Wifi Direct 的频道 您需要执行以下
  • 设置创建或更改时间戳

    Using utimes futimes futimens等等 可以设置文件的访问和修改时间戳 修改时间是文件数据最后一次改变的时间 同样 ctime 或更改时间是文件属性 例如权限 最后一次更改的时间 Linux POSIX 维护三个时间
  • WPF TreeView刷新

    我有一个问题 我用TreeView在我的 WPF 项目中可视化我的 XML 数据 问题是 当我编辑我的XmlDocument它不会刷新TreeView 但我注意到当我检查时SelectedNode 这是我编辑的XmlNode 所以我的 编辑
  • 为什么我的文本字符串在 Pygame 中呈现为实心/填充矩形? [复制]

    这个问题在这里已经有答案了 所以我制作了一个 Yo Mama 笑话生成器 它做了它应该做的事情 如果我删除所有 Pygame 特定的代码并将其打印到终端 命令行 它就会起作用 但是当我添加 Pygame 并创建一个应用程序时 它会将文本显示
  • 正则表达式:用一种模式替换另一种模式

    我正在尝试用另一种正则表达式模式替换一种正则表达式模式 st srt Awake 01x02 iNTERNAL WEBRiP XViD GeT srt st mkv Awake S01E02 iNTERNAL WEBRiP XViD GeT
  • laravel5: chdir(): 没有这样的文件或目录 (errno 2)

    当我将 Laravel 5 上的网站构建部署到 VPS 服务器时遇到问题 但在本地计算机上它工作正常 我的页面是http easyway vn http easyway vn 当前页面显示空白并出现错误 无法加载资源 服务器响应状态为 50
  • 我的脚本不会进入下一页进行抓取

    我编写了一个用于网络抓取的代码 除了下一页活动之外 一切都很好 当我运行我的代码时scrape数据只是来自网站scraping第一页不会向前移动以抓取其他页面数据 实际上 我是使用 python 进行网络抓取的新手 所以请指导我 你能修复我
  • 修改Django中间件中的地址

    我不知道是否可行 但我想使用中间件在 URL 末尾添加一些参数 modyf 请求的 URL 后可以不重定向来完成吗 IE 用户点击 some link 中间件将其重写为 some link par1 1 par2 2 其他方法是修改响应并替
  • CSS 负 z-index:这是什么意思?

    如果我向元素的 z index 属性添加负整数值 根据标准 预期效果是什么 我搜索了答案 但只找到了这个 https developer mozilla org en US docs Web CSS z index https develo
  • 我在命令面板中没有看到 hello world 命令

    So the tutorial https code visualstudio com api get started your first extension开发 Visual Studio 代码扩展说要打F5然后是命令面板 我应该在其中
  • Android getColumName 和 getColumnIndex

    我是一名 Android 新手 我的光标有问题 我无法使用以下方式访问数据 cursor get cursor getColumnIndex columnName 我尝试了以下代码来测试是否有错误 while cursor moveToNe
  • 一个模型可以“属于”任一/或多个模型吗?

    抱歉 如果这是一个有点菜鸟的问题 但希望澄清我对此的想法 我有一个模型 它可以属于一个模型 也可以属于另一个模型 例如 假设我有一个团队模型和一个成员模型 这两个模型都可以有一个 BankAccount class Team has man
  • 从 firebase 检索数据返回 NULL

    当我调用listPost 时 它将返回NULL 我想它不会等待侦听器从 firebase 获取帖子 在返回 arrayPost 之前 如何等待从 firebase 获取帖子 public Post listPost ArrayList
  • 用于部署的语言/堆栈[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在进行相当密集的重写 并可以选择以下选项 JSP Java 运行在 Tomcat 上 PHP 运行在 Apache 下 Ruby 我不确定在