Monthly Archives: September 2011

Better code reviews

by Tom

One of the great things about working at The NetCircle is the freedom you are given to improve processes. I realised quickly that one of the things nobody in the team enjoyed is code reviews.

Code reviews benefit everyone involved in them; other developers who have been working on a different feature of the application get to see what you’ve produced (or refactored), and sysadmins get a preview of the code that will be running on their servers, for example. Feedback on .

Continue reading →

Using Riak at The NetCircle

by Joseph

At The NetCircle, we build great software for our clients’ communities and building great communities means that users want to talk to each other, a lot. For several of our clients’ communities, we have started outgrowing the ability of our current messaging systems to handle new data easily. Database sharding, adding new machines and changing data structures have helped get our system to where it is today, but maintaining this system comes at a cost (several system admins have gone nearly bald!).

At The NetCircle, we are always on the lookout for new technologies that could help improve our clients’ communities by expanding the user base or improving the user experience. In the case of our messaging system, not only are we looking at a way to help it grow in the future (stably!), but also create a central system that all our clients’ communities can use as a service rather than having different systems and data storage for each community.
Continue reading →

Highly Available Static Fileservers – Heartbeat, Nginx, Lsyncd, and RR-DNS

by Benjamin


After being tasked with finding a possible replacement for our dieing imageserver (running out of diskspace, no real replication, high load, and so on…), I have spent quite some time studying possible solutions. We have come up with a solution which is fast, scalable, domain independent, has high availability, and is redundant. Which are exactly the kind of qualities you are looking for if you are designing an architecture for a company that has multiple high traffic projects and has these qualities as requirements. The technologies used for the creation of these static file clusters are all opensource and should be available for most relatively recent *nix distributions. The technologies used in this setup are in no particular order: nginx, lsyncd, heartbeat, RR-DNS.

Although the focus of this post is heavily geared towards the distribution of images, it should be clear that the information disclosed in this document can be used to distribute and load balance any static files across any number of clusters. Please also note that I have attempted to explain everything in great detail and that this unfortunately has the consequence that the complexity of the descriptions and terminology used in this post is geared towards technical people with an understanding about *nix system administration.


Continue reading →

Join Our Team in Shanghai

Now hiring PHP Developer in Shanghai