Choosing a Java Restful Platform for a Highly Busy Server

I'm trying to figure out which Java Restful framework is the best suitable loaded identity manager server. Has anyone run load tests for Restful frameworks and are willing to share a conclusion?

Thanks a lot!

+4
source share
1 answer

Great question! You will probably find that the choice of structure is not the main determinant of performance / scalability. We used Restlet , based on a very strong recommendation from a former colleague who used it to develop Overstock.com (a very large e-commercial site). It has good performance and it works great for Overstock.com. But we were not going to compare the results.

One of the great drivers for REST is its scalability, the quality of a distributed system, thanks to which you can increase use with a proportional increase in the size and cost of the system. Caching is a key method of achieving scalability. Therefore, if you allow your views to be cached, most of the load is not actually carried by the identity management system, but the web is cached downstream. This is independent of the REST structure.

Your database technology is probably another major factor in system performance and scalability. Database tuning and query optimization can pay off here. Also consider whether adding a database cache (such as OpenSymphony) makes sense.

We found that the cost of serialization was very significant for us. Overall query rates were best if we used Kryo or Smile binary serializations. If you need text serialization, we find that the Jackson JSON serializer was much faster than the XStream XML serializer, doubling the overall request frequency. This may be an area to consider.

So, if you haven’t done this, examine your system in terms of scaling. See http://www.highscalability.com , Richardson and Ruby Restful Web Services (O'Reilly), Cal Henderson Creating Scalable Web Sites and Theo Schlossnagle Scalable Internet Architectures for a start.

+2
source

All Articles