首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby goliath非阻塞服务器映射

Ruby goliath非阻塞服务器映射
EN

Stack Overflow用户
提问于 2012-12-26 13:31:59
回答 2查看 800关注 0票数 1

我正在试用goliath非阻塞ruby服务器。

对于我的应用程序,我需要创建至少2个已定义的路由,比如"/call_one“和"/call_two",每个映射都应该以不同的方式响应。

歌利亚文档提到了map函数,这正是我所需要的。但它不再存在于source中。

EN

回答 2

Stack Overflow用户

发布于 2013-03-17 21:26:26

实际上,它已经被删除了,但您并不真正需要它。您可以安装并运行通用的映射器gem (记住歌利亚与机架几乎是兼容的),比如https://github.com/joshbuddy/http_router

或者,您可以只检查环境变量,看看RACK为您提供了什么,并执行正确的路由,例如

代码语言:javascript
复制
class MyServer < Goliath::API    
  def response(env)
    case env['PATH_INFO']
      when '/action_1'
        [200, {}, "Action 1 Response"]
      when '/action_2'
        [200, {}, "Action 2 Response"]
      when '/'
        [200, {}, "Root Action"]
      else
        raise Goliath::Validation::NotFoundError
    end
  end
end
票数 0
EN

Stack Overflow用户

发布于 2013-05-21 09:30:57

路由器被从Goliath中删除,因为它导致了许多棘手的边缘情况。Goliath的初衷是一条路由,一个API。因此,我们在前面有Nginx或HAProxy,它们将路由到正确的Goliath API服务器(通常每个路由都有一堆Goliath服务器)。

对我们来说,这是最好的解决方案,因为它允许我们在不影响其他任何API服务器的情况下更新任何API服务器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14036363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档