Skip to content
Surf Wiki
Save to docs
general/cross-platform-software

From Surf Wiki (app.surf) — the open knowledge base

Resin (software)


FieldValue
nameResin
developerCaucho Technology
latest release version
latest release date
operating systemCross-platform
programming languageJava and C
genreWeb server
licenseGPLv3 or Proprietary
website

Resin is a web server and Java application server developed by Caucho Technology. Currently, only two versions are available: Resin (GPL), which is free for production use, and Resin Pro, designed for enterprise and production environments with a licensing fee. Resin supports the Java EE standard and features a mod_php/PHP-like engine called Quercus.

Resin (GPL) offers essential functionalities for web and application serving, while Resin Pro includes additional optimizations, such as:

  • Built-in Caching: Resin Pro incorporates built-in caching mechanisms to improve performance.
  • Clustering: Resin Pro supports public, private, or hybrid clustering, enhancing scalability and redundancy.
  • Advanced Administration and Health System: It provides an advanced administration system and health monitoring for efficient server management.
  • HTTP Session Replication: Ensures high availability by replicating HTTP sessions across multiple server instances.
  • Distributed Cache Replication: Enhances application performance by replicating cached data across a distributed environment.
  • Auto-Recovery and Diagnostic Reports: Resin Pro offers automatic recovery mechanisms and detailed diagnostic reports to help troubleshoot.

Resin is primarily written in Java, with parts in C.

Product features

Resin Pro has been engineered to include:

  • Dynamic Clustering: Locking was replaced with non-locking atomic operations, clearing contention bottlenecks, improving the async/epoll performance, and reducing thread overhead to handle 100,000 requests per second.
  • Cloud Support: A single command can add or remove Elastic cluster members. 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 call Java Objects directly.
  • Security through OpenSSL 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: Java caching can improve application performance by saving the results of long calculations and reducing database load and application response time

Scalability

  • Elastic Clustering / Cloud support
    • 3rd generation clustering optimized for Virtualization 2.0, EC2 and OpenStack deployments
  • Session Replication
  • Load balancing
  • Distributed Cache
    • Memcached wire protocol for Couchbase Server like caching

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
  • Throttling App Server
  • Java EE Web Profile certified,
  • Java CDI
    • standard Java dependency injection similar to Guice and Spring, part of Java EE
  • Transaction support

Web Server

  • 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 the Toronto Stock Exchange, Salesforce.com, Condé Nast (parent company of Wired, Vogue, GQ) and CNET. NetCraft's February 2012 Survey stated Resin grew to 4,700,000 sites; Resin was the only Java-based web server mentioned.

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

Quercus

Quercus is a Java-based implementation of the PHP language 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. In contrast, in the open-source version, PHP is executed by an interpreter.{{citation | access-date = 2009-08-19 | archive-date = 2011-07-08 | archive-url = https://web.archive.org/web/20110708124319/http://blog.caucho.com/wp-content/uploads/2008/04/quercus.pdf | url-status = dead

Caucho stated in 2007 that Quercus was faster than standard PHP 5 (PHP 8 with JIT is much faster than older PHP versions; PHP 5 is no longer supported), although this is only true for the JIT-compiled version in Resin Professional.{{citation | access-date = 2013-02-27 | archive-date = 2013-05-12 | archive-url = https://web.archive.org/web/20130512023805/http://blog.caucho.com/2008/02/26/new-monthly-caucho-newsletter/ | url-status = live

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.

References

References

  1. "Paul Cowan Discusses the Resin Application Server and Cloud". Infoq.com.
  2. "Caucho: Resin Cloud Support: 3rd generation Clustering For Elastic Cloud Scaling". s3.amazonaws.com.
  3. "Resin Can Now Act As a Drop-in Replacement for Memcached Solution". Infoq.com.
  4. (2011-08-26). "Caucho Technology » Blog Archive » Resin Pro Health System now and in the future". Blog.caucho.com.
  5. "Caucho Resin is Officially Certified Against the Java EE 6 Web Profile". Infoq.com.
  6. "Caucho Resin | Java Application Server | Java EE | PaaS Ready » Java EE Web Profile and beyond". Caucho.com.
  7. "Caucho Resin | Java Application Server | Java EE | PaaS Ready » Java CDI | Candi". Caucho.com.
  8. (2012-02-07). "Caucho Resin | Java Application Server | Web Server | Java EE Certified | PaaS/Cloud Ready » Resin Web Server". Caucho.com.
  9. "Resin Customers {{!}} Caucho".
  10. (2012-02-07). "February 2012 Web Server Survey | Netcraft". News.netcraft.com.
  11. "NginX 1.2.0 versus Resin 4.0.29 performance tests". Caucho.com.
  12. "PHP on Java: Best of Both Worlds?". Infoq.com.
  13. "Powered by Google Docs".
Wikipedia Source

This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.

Want to explore this topic further?

Ask Mako anything about Resin (software) — get instant answers, deeper analysis, and related topics.

Research with Mako

Free with your Surf account

Content sourced from Wikipedia, available under CC BY-SA 4.0.

This content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.

Report