Book Image

Expert GeoServer

By : Ben Mearns
Book Image

Expert GeoServer

By: Ben Mearns

Overview of this book

GeoServer is open source, server-side software written in Java that allows users to share and edit geospatial data. In this book, you'll start by learning how to develop a spatial analysis platform with web processing services. Then you'll see how to develop an algorithm by chaining together geospatial analysis processes, which you can share with anyone in the world. Next you'll delve into a very important technique to improve the speed of your map application—tile caching. Here, you'll understand how tile caching works, how to develop an effective tile cache-supported web service, and how to leverage tile caching in your OpenLayers web application. Further on, you'll explore important tweaks to produce a performant GeoServer-backed web mapping application. Moving on, you'll enable authentication on the frontend and backend to protect sensitive map data, and deliver sensitive data to your end user. Finally, you'll see how to put your web application into production in a secure and user-friendly way. You'll go beyond traditional web hosting to explore the full range of hosting options in the cloud, and maintain a reliable server instance.
Table of Contents (7 chapters)

Clustered deployment

In the previous section, we looked at how to best deal with large raster datasets. In this section, we'll explore clustered server deployment to get the best GeoServer user experience from our hardware resources. We'll learn about concurrency and clusters and why these concepts are so important. We'll also look at how to use vertical cluster deployment for higher performance. Finally, we'll learn about GeoServer horizontal clusters for high availability.

Concurrency refers to tasks being run simultaneously on different parts of a computer or cluster hardware. GeoServer allows us to use concurrency in a few different ways. It can be deployed in a clustered configuration on one or more nodes. A cluster refers to a configuration of multiple computing resources, which are either virtual machines or physical computers (nodes). This means that...