Consistent Hashing – intelligentes Sharding

Stellen Sie sich folgendes Szenario vor: Sie betreiben eine Webapplikation, die noch relativ jung ist, aber die Userzahlen explodieren und vor allem die Datenbank hinter der Anwendung ächzt schon unter der Last – vor allem der vieler Lesezugriffe. Die Lösung für dieses Problem ist allgemein bekannt: Caching. Doch damit die Caching-Architektur horizontal skalieren kann, müssen…

DomniklStatsdBundle: Monitoring mit statsd in Symfony2-Projekten

Während mit klassischen Monitoringlösungen wie Nagios Systemdaten überwacht werden können, eignet sich die Kombination aus statsd und Graphite hervorragend für effektives Monitoring von Businessprozessen in Webanwendungen. Auch für Symfony2-Projekte wäre so eine Lösung praktisch – eine Variante stellt der Artikel vor.

Message Queues for web applications with STOMP

Just like human beings, machines need to communicate with each other – and they do this by passing messages around. The simplest form is to use a protocol like TCP and build some sort of API on top of it. But sometimes this just isn’t enough, especially if you want the connection to be reliable…

Grunt – a JavaScript build tool

Build systems have a long tradition in software development infrastructures. They allow for easy automation of tedious tasks that have to be run often while a software product is in development. And there is a great variety of such tasks: compiling source files, running unit tests, gathering metrics from the code and finally deploying it.…

15.12. Using custom annotations in PHP

When developing enterprise software one should always keep an eye on writing code that is easily maintainable, testable and extendable. Design patterns already propose a way to implement a loosely coupled architecture. With annotations you can take a step forward to make your code look even more expressive, focusing on the primary problem instead of…