Смола (программное обеспечение)

Смола
Разработчик(и)Технология Каучо
Стабильный релиз
4.0.66 [1] / 8 декабря 2021 г. ; 2 года назад ( 8 декабря 2021 г. )
Написано вJava и Си
Операционная системаКроссплатформенный
ТипВеб-сервер
ЛицензияGPLv3 или частная лицензия
Веб-сайтwww.caucho.com

Resin — это веб-сервер и сервер приложений Java , разработанный Caucho Technology . В настоящее время доступны только две версии: Resin ( GPL ), которая бесплатна для использования в производстве, и Resin Pro, разработанная для корпоративных и производственных сред с лицензионной платой. Resin поддерживает стандарт Java EE и имеет mod_php/ PHP -подобный движок под названием Quercus.

Resin (GPL) предлагает основные функции для обслуживания веб-сайтов и приложений, в то время как Resin Pro включает в себя дополнительные оптимизации, такие как:

  • Встроенное кэширование: Resin Pro использует встроенные механизмы кэширования для повышения производительности.
  • Кластеризация: Resin Pro поддерживает публичную, частную или гибридную кластеризацию, повышая масштабируемость и избыточность.
  • Расширенная система администрирования и контроля работоспособности: обеспечивает расширенную систему администрирования и мониторинга работоспособности для эффективного управления сервером.
  • Репликация сеансов HTTP: обеспечивает высокую доступность за счет репликации сеансов HTTP на нескольких экземплярах сервера.
  • Распределенная репликация кэша: повышает производительность приложений за счет репликации кэшированных данных в распределенной среде.
  • Автоматическое восстановление и диагностические отчеты: Resin Pro предлагает автоматические механизмы восстановления и подробные диагностические отчеты для помощи в устранении неполадок .

Хотя Resin в основном основан на Java, критические компоненты его сетевой инфраструктуры написаны на оптимизированном C, что обеспечивает баланс функций и производительности. Выпущенный в 1999 году, Resin имеет долгую историю, что делает его одним из самых зрелых и хорошо зарекомендовавших себя серверов приложений и веб-серверов.

Характеристики продукта

Resin Pro был разработан с учетом следующих особенностей:

  • Динамическая кластеризация: блокировка была заменена неблокирующими атомарными операциями, что позволило устранить узкие места, связанные с конкуренцией, улучшить производительность async/epoll и сократить накладные расходы потоков для обработки 100 000 запросов в секунду.
  • Поддержка облака: Одна команда может добавлять или удалять членов кластера Elastic. Топология кластера, балансировка нагрузки, кэширование, обмен сообщениями и управление автоматически адаптируются к динамическим серверам.
  • Скомпилированный PHP на JVM: повышает производительность, масштабируемость и безопасность приложений PHP, позволяя коду PHP напрямую вызывать объекты Java.
  • Безопасность посредством интеграции OpenSSL: комплексная структура безопасности для аутентификации приложений, авторизации и безопасности на основе SSL на транспортном уровне;
  • Интеллектуальный программный балансировщик нагрузки: нагрузка приложений автоматически распределяется между ресурсами для их балансировки.
  • Кэширование прокси-сервера: кэширование Java может повысить производительность приложений за счет сохранения результатов длительных вычислений и снижения нагрузки на базу данных и времени отклика приложения.

Масштабируемость

  • Эластичная кластеризация/поддержка облака [2]
    • Кластеризация 3-го поколения, оптимизированная для развертываний Virtualization 2.0, EC2 и OpenStack [3]
  • Репликация сеанса
  • Балансировка нагрузки
  • Распределенный кэш

Разработка

  • Составление класса
  • JIT-профилирование и анализ кучи
  • Графический интерфейс не требуется
  • Поддержка JUnit
  • Веб-администратор
  • Поддержка DevOps через CLI и REST-управление Resin
  • Интеграция Apache Ant / Maven / Ivy
  • Интеграция с IDE
  • Гибкое управление проектами
  • Ведение журнала

Готово к производству

  • Надежность
  • Мониторинг сервера
  • Развертывание / Развертывание в облаке
  • Развертывание с версионированием
  • Объединить пути
  • Помощь в устранении неполадок
  • Отчеты о состоянии сервера, базовые данные и отчеты о вскрытии [5]
  • Дросселирование

Сервер приложений

  • Сертифицированный Java EE Web Profile, [6] [7]
  • Java CDI [8]
  • Поддержка транзакций

Веб-сервер [9]

  • Статические файлы/ JSP / Сервлет / JSF
  • Расширенное ведение журнала доступа
  • Переписывание URL-адресов
  • Кэширование прокси (аналогично Squid)
  • Сжатие Gzip
  • SSL
  • Виртуальные Хосты
  • Comet /Сервер push
  • Веб-сокет
  • поддержка mod-php через Quercus
  • FastCGI

Использование

Доля рынка Resin невелика в общей схеме серверов приложений Java, но некоторые сайты с большим трафиком используют его, такие как фондовая биржа Торонто, Salesforce.com, Condé Nast (материнская компания Wired, Vogue, GQ) и CNET. [10] В обзоре NetCraft за февраль 2012 года указано, что Resin вырос до 4 700 000 сайтов; Resin был единственным упомянутым веб-сервером на основе Java. [11]

Страница 2012 года на сайте вики Caucho описывает процедуру тестирования, результаты которой показывают, что Resin тестировал файлы размером 0k (пустая HTML-страница), 1K, 8K и 64K байт. На каждом уровне Resin соответствовал или превосходил производительность веб-сервера Nginx . [12]

Quercus

Quercus — это реализация языка PHP на основе Java, входящая в состав Resin. Согласно слайд-шоу, представленному Эмилем Онгом (из Caucho) на встрече Java Meetup Group в Сан-Франциско в апреле 2008 г., касающемуся Resin 3.1, существенное различие в работе Quercus между версиями Resin Open Source и Resin Professional заключается в том, что в Resin Professional PHP компилируется в байт-код Java . Напротив, в версии с открытым исходным кодом PHP выполняется интерпретатором . [ 13]

В 2007 году Каучо заявил, что Quercus быстрее стандартного PHP 5 (PHP 8 с JIT намного быстрее старых версий PHP; PHP 5 больше не поддерживается), [14] [15] хотя это справедливо только для версии, скомпилированной с помощью JIT в Resin Professional. [16] Quercus поставляется с Resin.

Лицензирование

Одна лицензия охватывает все компоненты архитектуры Resin.

Resin предоставляется как в версии с открытым исходным кодом под лицензией GPL, так и в версии Pro с улучшениями для предприятий.

Смотрите также

Ссылки

  1. ^ "Архив загрузок Resin Pro | Caucho" .
  2. ^ "Пол Коуэн обсуждает сервер приложений Resin и облако". Infoq.com. Архивировано из оригинала 2012-10-19 . Получено 2012-10-25 .
  3. ^ "Caucho: Поддержка Resin Cloud: Кластеризация 3-го поколения для масштабирования Elastic Cloud" (PDF) . s3.amazonaws.com. Архивировано (PDF) из оригинала 2015-04-04 . Получено 2012-10-25 .
  4. ^ "Resin Can Now Can Act As a Drop-in Replacement for Memcached Solution". Infoq.com. Архивировано из оригинала 20.11.2012 . Получено 25.10.2012 .
  5. ^ "Caucho Technology » Архив блога » Resin Pro Health System сейчас и в будущем". Blog.caucho.com. 2011-08-26. Архивировано из оригинала 2012-10-25 . Получено 2012-10-25 .
  6. ^ "Caucho Resin официально сертифицирован по профилю Java EE 6 Web". Infoq.com. Архивировано из оригинала 2012-08-22 . Получено 2012-10-25 .
  7. ^ "Caucho Resin | Java Application Server | Java EE | PaaS Ready » Java EE Web Profile и далее". Caucho.com. Архивировано из оригинала 2012-10-01 . Получено 2012-10-25 .
  8. ^ "Caucho Resin | Java Application Server | Java EE | PaaS Ready » Java CDI | Candi". Caucho.com. Архивировано из оригинала 2012-10-24 . Получено 2012-10-25 .
  9. ^ "Caucho Resin | Java Application Server | Web Server | Java EE Certified | PaaS/Cloud Ready » Resin Web Server". Caucho.com. 2012-02-07. Архивировано из оригинала 2012-10-31 . Получено 2012-10-25 .
  10. ^ "Resin Customers | Caucho". Архивировано из оригинала 2014-11-01 . Получено 2014-11-01 .
  11. ^ "Опрос веб-серверов за февраль 2012 г. | Netcraft". News.netcraft.com. 2012-02-07. Архивировано из оригинала 2012-10-31 . Получено 2012-10-25 .
  12. ^ "Тесты производительности NginX 1.2.0 и Resin 4.0.29". Caucho.com. Архивировано из оригинала 2012-08-25 . Получено 2012-04-01 .
  13. ^ Эмиль Онг (2008-04-09), Начало работы с Quercus (PDF) , Caucho Technology, архивировано из оригинала (PDF) 2011-07-08 , извлечено 2009-08-19(сопроводительная запись в блоге Каучо, архив 2012-07-16 на archive.today , дополнительная копия PDF, архив 2011-07-14 на Wayback Machine )
  14. ^ "PHP на Java: лучшее из двух миров?". Infoq.com. Архивировано из оригинала 29-09-2012 . Получено 25-10-2012 .
  15. ^ "Powered by Google Docs" (PDF) . Архивировано (PDF) из оригинала 2013-10-05 . Получено 2012-10-25 .
  16. ^ Новый ежемесячный информационный бюллетень Caucho, Caucho Technology, 2008-02-26, архивировано из оригинала 2013-05-12 , извлечено 2013-02-27 , Я думаю, что мы наконец-то приближаемся к моменту, когда мы достаточно точно имитируем другую реализацию PHP (за исключением того, что у нас есть распределенные сеансы, мы быстрее в скомпилированном режиме и т. д. :-)).
  • Характеристики смолы
Retrieved from "https://en.wikipedia.org/w/index.php?title=Resin_(software)&oldid=1243863382"