Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Каковы ключевые различия между экземпляром песочницы и обычным экземпляром в Octane?


Каковы ключевые различия между экземпляром песочницы и обычным экземпляром в Octane?


В Laravel Octane ключевые различия между экземпляром песочницы и обычным экземпляром заключаются в следующем:

Экземпляр песочницы

1. Клонированный экземпляр приложения: Octane клонирует исходный экземпляр приложения, чтобы создать экземпляр песочницы для каждого входящего запроса. Это гарантирует, что каждый запрос будет иметь собственную изолированную среду, предотвращая проблемы с сохранением состояния между запросами.
2. Чистая конфигурация. Экземпляр песочницы включает чистую копию репозитория конфигурации, клонированную из нового экземпляра песочницы. Это гарантирует, что любые изменения конфигураций повлияют только на «песочницу».
3. Очистка кеша и сеанса. Экземпляр песочницы очищает кеш и состояние сеанса, чтобы предотвратить сохранение каких-либо данных между запросами.
4. Локализованный переводчик. Экземпляр песочницы устанавливает для языковых стандартов внутри переводчика исходные языки, чтобы обеспечить сброс переводчика для каждого запроса.
5. Забыть защиту аутентификации. Экземпляр песочницы забывает все меры защиты, которые были установлены во время предыдущих запросов, чтобы обеспечить чистое состояние.

Обычный экземпляр

1. Исходный экземпляр приложения. Обычный экземпляр — это исходный экземпляр приложения, который сохраняется во всех запросах.
2. Постоянная конфигурация. Обычный экземпляр использует исходный репозиторий конфигурации, что может привести к проблемам с сохранением состояния между запросами.
3. Постоянный кеш и сеанс. Обычный экземпляр не очищает кеш и состояние сеанса, что позволяет данным сохраняться между запросами.
4. Нет локализованного переводчика: обычный экземпляр не сбрасывает локали переводчика, что может привести к проблемам, если приложение использует настройки, специфичные для локали.
5. Постоянная защита аутентификации. Обычный экземпляр не забывает ни одну защиту, установленную во время предыдущих запросов, что может привести к проблемам безопасности, если не управлять ею должным образом.

Лучшие практики

1. Избегайте передачи экземпляра приложения. Избегайте передачи экземпляра приложения непосредственно службам или синглтонам. Вместо этого используйте помощник app() или Container::getInstance(), чтобы убедиться, что используется правильный экземпляр.
2. Используйте обратные вызовы. Используйте обратные вызовы для возврата экземпляра песочницы вместо прямой передачи экземпляра приложения.

Понимая эти различия и следуя передовым практикам, вы можете гарантировать, что ваше приложение будет работать эффективно и безопасно с помощью Octane[1][5].

Цитаты:
[1] https://www.getoctane.io/sandbox
[2] https://salesforce.stackexchange.com/questions/42163/ Performance-difference-between-sandbox-and-production-instances
[3] https://otoy1473900221.zendesk.com/hc/en-us/articles/115001577606-Instances
[4] https://blog.octanesolutions.com.au/sandbox-anasis.delivered
[5] https://divinglaravel.com/laravel-octane-bootstrapping-the-application-and-handling-requests