是否可以使用apache在一组nodejs服务器之间进行负载均衡?我还需要使用cert配置apache以提供ssl并仅提供https请求。
简单的设置将是2个apache服务器,这将是我的负载平衡器。所有请求都将通过https进入这两个负载均衡器之一。
负载均衡器需要确定将请求路由到哪个服务器。这将是运行相同节点进程的6台服务器之一。
我知道有mod_cluster,但我只使用了JBoss设置而不确定这是否适用于nodejs服务器。
我也意识到这可能不是最好的设置,因为节点是单线程的,我可以尝试类似节点集群的东西。但是,节点集群似乎是垂直缩放而不是水平缩放。
我也知道有nginx和haproxy,虽然我从来没有使用过它们,并且对apache有更多的经验。还不确定haproxy和nginx是否支持只允许ssl连接证书。
这种负载均衡是否可能与apache有关,如果是这样的话?
答案 0 :(得分:4)
如果使用mod_proxy模块,则使用apache与后面使用的服务器无关。因此,您还可以使用mod_proxy查看所有apache-> tomcat示例。
在提出问题后,我添加了以下示例:
<VirtualHost *:80>
ProxyRequests off
ServerName domain.com
<Proxy balancer://mycluster>
# WebHead1
BalancerMember http://10.176.42.144:80
# WebHead2
BalancerMember http://10.176.42.148:80
# Security "technically we aren't blocking
# anyone but this the place to make those
# chages
Order Deny,Allow
Deny from none
Allow from all
# Load Balancer Settings
# We will be configuring a simple Round
# Robin style load balancer. This means
# that all webheads take an equal share of
# of the load.
ProxySet lbmethod=byrequests
</Proxy>
# balancer-manager
# This tool is built into the mod_proxy_balancer
# module and will allow you to do some simple
# modifications to the balanced group via a gui
# web interface.
<Location /balancer-manager>
SetHandler balancer-manager
# I recommend locking this one down to your
# your office
Order deny,allow
Allow from all
</Location>
# Point of Balance
# This setting will allow to explicitly name the
# the location in the site that we want to be
# balanced, in this example we will balance "/"
# or everything in the site.
ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/
</VirtualHost>
答案 1 :(得分:3)
是的,如果您询问如何设置Apache负载均衡器,Check this out可能是有可能的。
你见过node-http-proxy
吗? Great little walkthrough here如果你想保留所有Node,那就不会太吓人了。