Chapter 10. Scalability: using Hibernate Search in a cluster
This chapter covers
- Strategies for clustering Hibernate Search solutions
- Details of taking the asynchronous approach
- Configuring the slave nodes
- Configuring the master node
Most of the book pays little attention to your application architecture because Hibernate Search is fairly agnostic in that regard. Clustering a Hibernate Search application is worth mentioning because Hibernate Search makes it very easy to do. (You will especially see how easy if you’ve previously tried to cluster a plain Lucene application!)
When building an application, always keep in mind how well it will scale in the future, if not the present. The two traditional scalability possibilities are to scale up and to scale out. These days, emphasis is on the ability to scale out, and for good reasons. The good old days of doubling performances by increasing the CPU clock are over. Traditional big machines have been replaced by clusters of cheap commodity hardware. Even inside each machine, the war for scaling up is getting lost: Each CPU nowadays is made of two or more cores, sort of mini-independent CPUs. Every application needs to be able to scale out. This chapter describes how applications that use Hibernate Search can scale out.