c++ - 要使用 Ruby 或 C++ 为 Rails 应用程序编写后台进程代码?

标签 c++ ruby-on-rails

我已经在 Rails 应用程序上工作了几天,现在我需要一个底层“中间层”来将我的 Rails 应用程序连接到构成数据的各种服务。

基本设置如下所示:

前端(“Rails 应用程序”)-> 用户请求聚合数据-> 信息进入数据库,JSON 请求被发送到“中间层”以从其他地方的源检索数据,处理它,然后将其发送回前端,前端通过 websockets 将其流式传输到用户浏览器。

中间层 -> 使用套接字来监听前端发出的请求。发出请求后,聚合开始。

基础层 -> 可扩展网络设计中的负载平衡。

我认为这并没有达到应有的效率。我觉得我会遇到并发问题,或者它的使用速度太慢了。我需要能够扩大规模。

不过,我的主要问题在于哪种语言可以更有效地快速运行?

最佳答案

这取决于。你的数据来源是什么?他们在同一台机器上吗?它们是数据库吗?

我的直觉告诉我,你选择的语言对这种类型的效果影响不大 的应用程序执行,但在不知道细节的情况下很难说。

尽管如此,C++ 对于可扩展的网络应用程序来说可能不是一个好主意。很可能你会结束 写出比你用 Ruby 写的慢的东西,因为你最终会担心不相关的细节。关于并发并发问题,C++绝对不是最容易编写并发代码的语言。

在不了解更多的情况下,我建议您坚持使用 Ruby 或其他一些高级语言和配置文件,看看瓶颈在哪里。如果您发现有一些紧密的循环需要非常快地运行,您可以用 C 语言编写该部分,但您可能不需要那样做。

关于c++ - 要使用 Ruby 或 C++ 为 Rails 应用程序编写后台进程代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3176204/

相关文章:

ruby-on-rails - Rails/Mongoid 与 Struct 的关系问题

ruby-on-rails - 更新属性后不保存 ActiveRecord

ruby-on-rails - 根据一个关联查询一个集合,然后返回整个关联

c++ - inotify 没有按照我期望的方式通知

c++ - 如何获取内存管理中下一个 block 的地址?

c++ - 是否可以在 C++ 中以间接方式包含头文件

ruby-on-rails - 在 Windows 上为网站使用 rails 或 ASP.NET

c++ - 循环无限

c++ - 在模板声明中使用 min, max

ruby-on-rails - Rails 无法将主机名 "postgres"转换为地址:名称或服务未知 (PG::ConnectionBad)