我已经在 Rails 应用程序上工作了几天,现在我需要一个底层“中间层”来将我的 Rails 应用程序连接到构成数据的各种服务。
基本设置如下所示:
前端(“Rails 应用程序”)-> 用户请求聚合数据-> 信息进入数据库,JSON 请求被发送到“中间层”以从其他地方的源检索数据,处理它,然后将其发送回前端,前端通过 websockets 将其流式传输到用户浏览器。
中间层 -> 使用套接字来监听前端发出的请求。发出请求后,聚合开始。
基础层 -> 可扩展网络设计中的负载平衡。
我认为这并没有达到应有的效率。我觉得我会遇到并发问题,或者它的使用速度太慢了。我需要能够扩大规模。
不过,我的主要问题在于哪种语言可以更有效地快速运行?
最佳答案
这取决于。你的数据来源是什么?他们在同一台机器上吗?它们是数据库吗?
我的直觉告诉我,你选择的语言对这种类型的效果影响不大 的应用程序执行,但在不知道细节的情况下很难说。
尽管如此,C++ 对于可扩展的网络应用程序来说可能不是一个好主意。很可能你会结束 写出比你用 Ruby 写的慢的东西,因为你最终会担心不相关的细节。关于并发并发问题,C++绝对不是最容易编写并发代码的语言。
在不了解更多的情况下,我建议您坚持使用 Ruby 或其他一些高级语言和配置文件,看看瓶颈在哪里。如果您发现有一些紧密的循环需要非常快地运行,您可以用 C 语言编写该部分,但您可能不需要那样做。
关于c++ - 要使用 Ruby 或 C++ 为 Rails 应用程序编写后台进程代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3176204/