2KB项目,专业的源码交易网站 帮助 收藏 每日签到

Swiftiply —— 网络集群化代理服务器

  • 时间:2019-01-23 18:38 编辑:2KB 来源:2KB.COM 阅读:299
  • 扫一扫,手机访问
  • 分享
摘要:
Swiftiply Mongrel 英文原文:Swiftiply Introduction

Swiftiply 是一个用于Web应用程序后端未知的集群代理,它专门为支持来自Web框架的HTTP流量而设计。与Pen(http://siag.nu/pen/)不同的是,Swiftiply并不打算作为一个通用的TCP协议负载均衡器。与HAProxy(http://haproxy.1wt.eu/)不同的是,它不是一个高度可配置的通用代理。

那它的优点呢?它是一个快速的有针对性的集群代理。返回来比较Switiply和HAProxy,Switiply的可靠性要优于HAProxy(通过运行于Mongrel服务器的IOWA,Rails,Merb和Ramaze后端进程的测试)。

Swiftiply与传统的代理服务器运作方式不同。在Swiftiply中,后端进程是Swiftiply服务器的客户端,它保证socket连接至Swiftiply。该体系主要的一个的优点是:后端进程可随意进行启动和停止而无需通知代理服务器。明显的缺点是:这并不是后端通常期望的行为。

因为Mongrel是大多数Ruby框架的首选部署方法, 所以Swiftiply包含一个Mongrel已被修改成为swiftiply客户端的版本(在swiftcore/swiftiplied_mongrel.rb中可找到。它对所有现存的Mongrel处理程序是透明的。

此外,作为swiftiplied_mongrel的旁系分支,还存在另一个版本的swiftiplied_mongrel.rb文件,你可以在swiftcore/evented_mongrel.rb中看到。这是一个用EventMachine处理网络流量的Mongrel,它将会在事件而不是线程模式的基础上建立一个Mongrel。对很多应用程序来说,在事件模式的基础上运行可以比在线程模式下提供更大的吞吐量,尤其当并发请求发生的时候。

这是因为,在先到先服务的基础上,事件模式会在不经过线程的情况下高效地处理请求。相较于线程模式下的单个、无并发模式的Mongrel而言,对于典型的Rails应用,这意味着请求将被更加轻巧、快速地处理。尤其在有冰法请求的情况下,区别将更加明显。

框架支持


Swiftcore IOWA IOWA框架

IOWA 的存在时为了支持程序在事件和集群模式下运行。


Rails

Swiftiply为 mongrel_rails提供了一个名叫 _REPLACEMENT_的环境变量,通过使用这个变量,应用可被告知是在事件模式还是 Swiftiply(将Swiftiply用作HTTP代理服务器)模式下运行。

为了在事件模式下运行应用程序,你需要手动设置EVENT环境比那辆。在类Unix系统中: 

env EVENT=1 mongrel_rails

Swiftiply模式下运行: 

env SWIFTIPLY=1 mongrel_rails

因为Swiftiply在后台与服务器建立连接,因此他们都会在同一个端口发生。这点很重要,因为每个后端进程都会因为同样的端口号而产生冲突。为了解决这个问题,我们提供了一个帮助脚本swiftiply_mongrel_rails。它只是对mongrel_rails进行了一层简单的封装,让一个应用在合适的PID队列中可以开启、关闭N个后端

Merb

在这里,merb(只用到了其主干部分)的存在也是为了支持Rails。 Ramaze

框架包含了一组为Ramaze准备的适配器,让其可以在事件模式或Swiftiply模式下运行。它们分别被安装在:

ramaze/adapter/evented_mongrel.rb
ramaze/adapter/swiftiplied_mongrel.rb


其他框架

Swiftiply同样在Camping和Nitro框架上做过测试。现阶段,Swiftiply并不直接支持这两个框架,但在未来推出的版本中会逐渐解决这个问题。

配置

Swiftiply仅有唯一的配置文件,该文件规定了其监听连接的端口以及是否应该调用daemonize()函数。随后,它提供了一个MAP结构的数据,里面包含了连入信息的名称和网络流量经过的代理服务器的地址和端口。输出的地址和端口也就是网站的后台将会连入的地方。

例: 

cluster_address: swiftcore.org
cluster_port: 80
daemonize: true
map:
  - incoming:
    - swiftcore.org
    - www.swiftcore.org
    outgoing: 127.0.0.1:30000
    default: true
  - incoming: iowa.swiftcore.org
    outgoing: 127.0.0.1:30010
  - incoming: analogger.swiftcore.org
    outgoing: 127.0.0.1:30020
  - incoming:
    - swiftiply.com
    - www.swiftiply.com
    - swiftiply.swiftcore.org
    outgoing: 127.0.0.1:30030 本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部