zoukankan      html  css  js  c++  java
  • haproxy简单负载均衡搭建

    最近对负载均衡进行搭建具体方法如下:

    • haproxy 修改部分(haproxy-cfg.cfg)
    global
         daemon
         maxconn 4500 
    defaults
            mode http
            timeout connect 5000ms
            timeout client 50000ms
            timeout server 180000ms
            stats enable
            stats uri /stats
            stats auth admin:age!^*
    frontend http-in
            bind *:<span style="color: #ff0000;"><strong>9090</strong></span>
            default_backend dynamic_servers
    backend dynamic_servers
            mode http
            option httpclose
            option forwardfor header X-Forwarded-For
            appsession JSESSIONID len 52 timeout 30m
            balance roundrobin
            server server_9091 191.29.70.6:9091 maxconn 250
            server server_9092 191.29.70.6:9092 maxconn 250
            server server_9093 191.29.70.6:9093 maxconn 250
            server server_9094 191.29.70.6:9094 maxconn 250
            server server_9095 191.29.70.6:9095 maxconn 250

     使用haproxy做端口转发,只需要修改tomcat的 到不同的端口(保证端口不被占用)

    在haproxy映射即可。

    启动方法 ./haproxy -f haproxy-cfg.cfg

    haproxy 有编译好的版本,也可以自行编译参考方法

    http://wenku.baidu.com/view/0a7a28154431b90d6c85c760.html 

    tomcat示例

    <!-- Note:  A "Server" is not itself a "Container", so you may not
         define subcomponents such as "Valves" at this level.
         Documentation at /docs/config/server.html
    -->
    <Server <strong><span style="color: #ff0000;">port="9005"</span></strong> shutdown="SHUTDOWN">
     
      <!--APR library loader. Documentation at /docs/apr.html -->
      <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
      <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
      <Listener className="org.apache.catalina.core.JasperListener" />
      <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
      <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
     
      <!-- Global JNDI resources
           Documentation at /docs/jndi-resources-howto.html
      -->
      <GlobalNamingResources>
        <!-- Editable user database that can also be used by
             UserDatabaseRealm to authenticate users
        -->
        <Resource name="UserDatabase" auth="Container"
                  type="org.apache.catalina.UserDatabase"
                  description="User database that can be updated and saved"
                  factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                  pathname="conf/tomcat-users.xml" />
      </GlobalNamingResources>
     
      <!-- A "Service" is a collection of one or more "Connectors" that share
           a single "Container" Note:  A "Service" is not itself a "Container", 
           so you may not define subcomponents such as "Valves" at this level.
           Documentation at /docs/config/service.html
       -->
      <Service name="Catalina">
        <!--The connectors can use a shared executor, you can define one or more named thread pools-->
        <!--
        <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
            maxThreads="150" minSpareThreads="4"/>
        -->
        
        
        <!-- A "Connector" represents an endpoint by which requests are received
             and responses are returned. Documentation at :
             Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
             Java AJP  Connector: /docs/config/ajp.html
             APR (HTTP/AJP) Connector: /docs/apr.html
             Define a non-SSL HTTP/1.1 Connector on port 8080
        -->
        <Connector <span style="color: #ff0000;"><strong>port="9091"</strong></span> protocol="HTTP/1.1" 
                   connectionTimeout="100000" 
                   redirectPort="8443" URIEncoding="gbk"/>
    <!-- A "Connector" using the shared thread pool-->
        <!--
        
    <Connector executor="tomcatThreadPool"
                   port="8081" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" />
        -->           
        <!-- Define a SSL HTTP/1.1 Connector on port 8443
             This connector uses the JSSE configuration, when using APR, the 
             connector should be using the OpenSSL style configuration
             described in the APR documentation -->
        <!--
        <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                   maxThreads="150" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLS" />
        -->
    .....
  • 相关阅读:
    ASP.NET Core 发布
    cmd命令使用笔记
    彻底卸载Visual Studio 2013、Visual Studio 2015
    C#委托,事件理解入门 (译稿)
    理解ASP.NET MVC中的HTML Helpers
    Entity Framework 数据库初始化四种策略
    DbContext 那些事 —— 数据库初始化
    TryUpdateModel
    Fluent API 配置
    EF CodeFirst 关系配置
  • 原文地址:https://www.cnblogs.com/new0801/p/6175971.html
Copyright © 2011-2022 走看看