After experimenting with client side approach to clustering large numbers of Google markers I decided that it won\'t be possible for my project (social network with 28,000+ user
This is a paid service that uses server-side clustering, but I'm not sure how it works. I'm guessing that they just use your data to generate the markers to be shown at each zoom level.
Update: This tutorial demonstrates a basic server-side clustering function. It's written in PHP for the Static Maps API, but you could use it as a starting point.