Wednesday, April 28, 2010
Release It! - Chapter 11.1 Multihomed Servers
Fact: nearly every server in a data center will be multihomed, meaning it will have multiple NICs, IP addresses and be on multiple networks. Typically, different networks are used for different purposes: one for production and one for administration or backup. Bonding is where multiple NICs share the same IP address and the OS takes care of routing packets properly. This is useful for load-balancing. By default, Java will listen for traffic on all interfaces so you have to be careful and use the proper APIs to restrict what interfaces your application uses. Your application needs configuration properties that tell it what interfaces to bind to. It makes sense to configure development, or at least test's, environment to have multihomed servers so you won't get any surprises in the field. The virtualization enviornments I've seen support multiple NICs so hardware shouldn't be an issue.