Commits

stewart  committed b71ae39

added haproxy config to src control

  • Participants
  • Parent commits 4603306

Comments (0)

Files changed (3)

File dev.haproxy.conf

+# start with the global settings which will
+# apply to all sections in the configuration.
+global
+  # specify the maximum connections across the board
+  maxconn 2048
+  # enable debug output
+  debug
+
+# now set the default settings for each sub-section
+defaults
+  # stick with http traffic
+  mode http
+  # set the number of times HAProxy should attempt to
+  # connect to the target
+  retries 3
+  # specify the number of connections per front and
+  # back end
+  maxconn 1024
+  # specify some timeouts (all in milliseconds)
+  timeout connect 5000
+  timeout client 50000
+  timeout server 50000
+
+########### Webmachine Configuration ###################
+
+# here is the first of the front-end sections.
+# this is where we specify our webmachine instances.
+# in our case we start with just one instance, but
+# we can add more later
+frontend webfarm
+  # listen on port 80 across all network interfaces
+  bind *:80
+  # by default, point at our backend configuration
+  # which lists our webmachine instances (this is
+  # configured below in another section)
+  default_backend webmachines
+
+# this section indicates how the connectivity to
+# all the instances of webmachine should work.
+# Again, for dev there is only one instance, but
+# in production there would be more.
+backend webmachines
+  # we'll specify a round-robin configuration in
+  # case we add nodes down the track.
+  balance roundrobin
+  # enable the "X-Forware-For" header so that
+  # we can see the client's IP in Webmachine,
+  # not just the proxy's address
+  option forwardfor
+  # later down the track we'll be making the use
+  # of cookies for various reasons. So we'll
+  # enable support for this while we're here.
+  cookie SERVERID insert nocache indirect
+  # list the servers who are to be balanced
+  # (just the one in the case of dev)
+  server Webmachine1 127.0.0.1:8000
+
+########### Riak Configuration ###################
+
+# We are yet to touch Riak so far, but given that
+# this post is going to cover the basics of
+# connectivity, we'll cover off the configuration
+# now so we don't have to do it later.
+frontend dbcluster
+  # We'll be using protocol buffers to talk to
+  # Riak, so we will change from the default mode
+  # and use tcp instead
+  mode tcp
+  # we're only interested in allowing connections
+  # from internal sources (so that we don't expose
+  # ourselves to the web. so we shall only listen
+  # on an internal interface on port 8080
+  bind 127.0.0.1:8080
+  # Default to the riak cluster configuration
+  default_backend riaks
+
+# Here is the magic bit which load balances across
+# our three instances of riak which are clustered
+# together
+backend riaks
+  # again, make sure we specify tcp instead of
+  # the default http mode
+  mode tcp
+  # use a standard round robin approach for load
+  # balancing
+  balance roundrobin
+  # enable HTTP health checking using the GET method
+  # on the URI "/ping". This URI is part of Riak and
+  # can be used to determine if the node is up.
+  # We specify that we want to use the GET action, and
+  # use the URI "/ping" - this is the RESTful health
+  # check URI that comes as part of Riak.
+  option httpchk GET /ping
+  # list the three servers as optional targets
+  # for load balancing - these are what we set
+  # up during Part 1. Add health-checking as
+  # well so that when nodes go down, HAProxy
+  # can remove them from the cluster.
+
+  # change the health-check address of the node to 127.0.0.0:8091
+  # which is the REST interface for the first Riak node
+  server Riak1 127.0.0.1:8081 check addr 127.0.0.1 port 8091
+
+  # change the health-check address of the node to 127.0.0.0:8092
+  # which is the REST interface for the second Riak node
+  server Riak2 127.0.0.1:8082 check addr 127.0.0.1 port 8092
+
+  # change the health-check address of the node to 127.0.0.0:8093
+  # which is the REST interface for the third Riak node
+  server Riak3 127.0.0.1:8083 check addr 127.0.0.1 port 8093

File rebar.config

-{sub_dirs, ["apps/coffeemachine","rel"]}.
+{sub_dirs, ["apps/coffeemachine","apps/notify","rel"]}.
 {deps,
  [{webmachine, "1.*", {hg, "http://hg.basho.com/webmachine", "tip"}},
   {riakc, ".*", {hg, "http://bitbucket.org/basho/riak-erlang-client", "tip"}}

File rel/reltool.config

          mochiweb,
          webmachine,
          coffeemachine,
+         notify,
          riakc
         ]},
        {rel, "start_clean", "",