Quite a large proportion of my day-to-day job involves the design, implementation and ongoing improvement of an in-house API.
As a result of this, a commonly identified bottleneck arises when dealing with large, ‘expensive’ data. This is commonly seen when an application posts a large volume of well structured data to the API (that some process must be carried out upon), before some form of structured receipt is then returned as a request response.
Analysing such a request tends to show high PHP CPU usage with lower database consumption. This means that with an increase in data processing capacity we could make more use of this redundant database resource.
The structured nature of data exchanged via an API means that we can, relatively simply and reliably, divide the submitted data and process it simultaneously with the help of a great tool called Gearman.

Thought I would do a couple of posts on some basic Object Oriented design patterns and examples of their implementation within the Kohana framework. They’re not going to go into any great detail but will hopefully provide a small insight into some of the inner workings of Kohana and enableĀ you to make full use of some of the inherent power these patterns provide.