RESTful market & static data caches August 4, 2008
Posted by James Webster in : development , trackbackAn architectural pattern that I have observed a few investment banks implement is a distributed memory cache accessed via a RESTful front-end over HTTP for providing access to market data (e.g.. stock prices, interest rate curves, or derived values like volatility surfaces & correlations) and static data (e.g. counterparty details, settlement defaults). The distributed cache can be ‘easily’ scaled to hold massive data sets and the front-end allows the data to be accessed in a technology agnostic fashion, as long as the client can speak HTTP. These caches tend to use a commercial product such as Oracle (nee Tangosol) Coherence, Gigaspaces Enterprise Data Grid or GemStone GemFire. The REST layer is written in-house however. In the open-source world it appears that Ehcache now has a ‘RESTful, resource-oriented’ layer. Given the growing popularity of REST versus WS-DeathStar its possible that Coherence et al will provide some out-of-the-box support for REST as well. Microsoft might consider pairing Velocity with ASP.NET MVC?
Comments»
James,
Nice to see this usage in big shops. I am adding sample code demonstrating the technology agnostic access. I will highlight these in coming blog entries.
In terms of scaling size, I don’t see why we cannot, with partitioning and load balancing get into terabytes with this type of cache architecture. I am planning to add the cache server as a secondary store with ehcache core, so that the local memory based cache acts as a read buffer. It will also handle the partitioning configuration.
Greg Luck
[…] in what scenarios would a RESTful cache be useful? James Webster reports on seeing an increase in adoption of this architectural style in large enterprises: An […]