Resin (software)

From Infogalactic: the planetary knowledge core
(Redirected from Resin Server)
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

Resin
Developer(s) Caucho Technology
Stable release 4.0.44 / 23 April 2015; 8 years ago (2015-04-23)[1]
Development status Active
Written in Java and C
Operating system Cross-platform
Type Web server
License GPLv3 or proprietary
Website www.caucho.com

Resin is a web server and Java application server from Caucho Technology. In addition to Resin (GPL), Resin Pro is available for enterprise and production environments. Resin supports the Java EE standard[2] as well as a mod_php/PHP like engine called Quercus.[3]

Resin Pro includes optimizations such as built-in caching and features such as clustering support, advanced administration, and the health system that includes HTTP session replication, Java Monitoring, distributed cache replication, and JMS queue replication. While Caucho describes these as "features and enhancements commonly needed in a production environment", Resin Open Source is used without these features.

Although a Java-based server, key pieces of Resin's core networking are written in highly optimized C. Caucho states Java is the layer that allows Resin to be "full featured" while C provides the speed. Resin, which was released in 1999, predates Apache Tomcat, and is one of the oldest application servers and web servers.[4]

Product features

Scalability

  • Elastic Clustering / Cloud support[5]
    • 3rd generation clustering optimized for Virtualization 2.0, EC2 and OpenStack deployments[6]
  • Session Replication
  • Load balancing
  • Distributed Cache

Development

  • Class compilation
  • JIT Profiling and heap analysis
  • No GUI required
  • JUnit support
  • Web Admin
  • DevOps support via CLI and REST control of Resin
  • Apache Ant/Maven/Ivy integration
  • IDE integration
  • Flexible project management
  • Logging

Production Ready

  • Reliability
  • Server Monitoring
  • Deployment / Cloud deployment
  • Versioned deployment
  • Merge paths
  • Troubleshooting aids
  • Server health reports, baselining and post mortem reporting[8]
  • Throttling

App Server'

  • Java EE Web Profile certified,[2][9]
  • Java CDI[10]
  • Transaction support

Web Server[11]

  • Static files/JSP/Servlet/JSF
  • Extensible access logging
  • URL rewriting
  • Proxy caching (similar to Squid)
  • Gzip compression
  • SSL
  • Virtual Hosts
  • Comet/Server push
  • WebSocket
  • mod-php like support via Quercus
  • FastCGI

Usage

Resin's market share is small in the grand scheme of Java Application Servers, but some high traffic sites use it, such as Toronto Stock Exchange, SalesForce.com, Condé Nast (parent company of Wired, Vogue, GQ), CNET.[12] NetCraft's February 2012 Survey stated Resin grew to 4,700,000 sites; Resin was the only Java-based web server mentioned.[13]

A 2012-page on a Caucho wiki site describes a test procedure with results showing that tested 0k (empty HTML page), 1K, 8K and 64K byte files. At every level Resin matched or exceeded nginx web server performance.[14]

Quercus

Quercus is a Java-based implementation of the PHP language that is included with Resin. According to a slideshow presented by Emil Ong (from Caucho), to a San Francisco Java Meetup Group in April 2008 pertaining to Resin 3.1, an essential difference in the operation of Quercus between the Resin Open Source and the Resin Professional editions is that in Resin Professional the PHP is compiled to Java bytecode whereas in the open source version PHP is executed by an interpreter.[15]

Caucho states that Quercus is faster than standard PHP[3][16] although this is only true for the JIT-compiled version in Resin Professional.[17] Quercus ships with Resin.

Licensing

One license covers all components of the Resin architecture.

Resin is provided in both an open source GPL license and a Pro version with enhancements for enterprises.

Resin Pro is geared towards businesses, governments, and enterprises such as:

 Lua error in package.lua at line 80: module 'strict' not found.Lua error in package.lua at line 80: module 'strict' not found.   
  • Governments who need to scale a web application to provide real time data
  • Hospitals sharing data to better diagnose patients

These are the areas where the aforementioned Open Source components are not well suited and where Resin Pro has been engineered to include:

  • Dynamic Clustering- Locking was replaced with non-locking atomic operations, cleared contention bottlenecks, improved the async/epoll performance, and reduced thread overhead to handle 100,000 requests per second.
  • Cloud Support- Elastic cluster members can be added or removed using a single command. Cluster topology, load balancing, caching, messaging and management automatically adapt to dynamic servers.
  • Compiled PHP on the JVM- Improves performance, scalability and security of PHP applications by allowing PHP code to directly call Java Objects.
  • Security though Open SSL integration- A comprehensive security framework for application authentication, authorization and transport level SSL based security.
  • Smart Software Load balancer- Application load is shared among resources automatically to balance them.
  • Proxy cache- Faster application performance is possible with Java caching by saving the results of long calculations and reducing database load and application response time.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. http://caucho.com/products/resin/customers
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found. (accompanying Caucho blog entry,additional copy of PDF)
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.

External links