2015-09-02 125 views
1

我們的HAProxy客戶端建立單個TCP連接並繼續發送消息。我們想知道,是否有辦法在HAProxy後面的服務中負載平衡這些消息。請指教。HAProxy可以通過單個TCP連接發送多個請求發送

+0

是的,它可以。檢查在這[後](http://stackoverflow.com/questions/36865109/loadbalancing-logback-logstash-logs-using-haproxy/36883667#36883667)或我的答案下面的配置 –

回答

0

IP地址:

  1. Web應用程序 - >192.168.x.209
  2. HAProxy的 - >192.168.x.211
  3. Logstash託運人 - >192.168.x.210

通過下面的配置,HAProxy的是不能接收來自Logstash應用程序的日誌,因此logstash託運人無法接收日誌。

以下是我做的配置:

的WebApplication - logback.xml

<appender name="stash" 
    class="net.logstash.logback.appender.LogstashAccessTcpSocketAppender"> 
    <destination>192.168.x.211:5001</destination> 
    <encoder class="net.logstash.logback.encoder.LogstashEncoder" /> 
</appender> 

HAProxy的配置

listen logstash 
    bind 0.0.0.0:5001 
    mode tcp 
    balance leastconn 
    option tcplog 
    server logstash01 192.168.x.212:5001 check 
    server logstash02 192.168.x.210:5001 check 

Logstash託運人 - 配置

input{ 
    tcp{ 
      type => "log1" 
      port => 5001 
      codec => "json" 
    } 
    tcp{ 
      type => "log2" 
      port => 5002 
      codec => "json" 
    } 
output { 
      stdout{ 
      codec => rubydebug 
    }} 

配置有什麼問題嗎?需要幫助。