Узнайте, что такое сервис-воркеры и как использовать их в веб-приложениях для офлайн-доступа, ускорения загрузки и push-уведомлений.
Алексей Кодов
Автор статьи
2 июня 2023 в 11:08
Сервис-воркеры являются ключевым компонентом в современных веб-приложениях. Они обеспечивают множество преимуществ, таких как офлайн-доступ, ускорение загрузки и получение push-уведомлений. В этой статье мы рассмотрим основы сервис-воркеров и как их использовать в веб-приложениях.
Что такое сервис-воркер?
Сервис-воркер – это скрипт, который работает в фоновом режиме, независимо от веб-страницы. Он позволяет выполнять задачи, которые не требуют взаимодействия с пользователем или даже находиться в активной вкладке браузера. Некоторые из основных возможностей сервис-воркеров включают:
- Кеширование ресурсов для работы в офлайн-режиме
- Получение и отправка push-уведомлений
- Синхронизация данных в фоновом режиме
Веб-разработчик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT
Как использовать сервис-воркеры в веб-приложениях
1. Регистрация сервис-воркера
Прежде всего, вам нужно зарегистрировать сервис-воркер на вашей веб-странице. Для этого добавьте следующий код в файл JavaScript, который выполняется на вашей странице:
ДЕНЬ СО СКАМЕРОМ
if (‘serviceWorker’ in navigator) < navigator.serviceWorker.register(‘/service-worker.js’) .then(registration => < console.log(‘Service Worker зарегистрирован:’, registration); >) .catch(error => < console.error(‘Ошибка регистрации Service Worker:’, error); >); >
2. Создание файла сервис-воркера
Создайте файл service-worker.js в корневой директории вашего проекта. В этом файле вы будете писать код, который определяет поведение сервис-воркера.
3. Обработка событий
Сервис-воркеры работают с помощью обработчиков событий. Например, вы можете кешировать ресурсы при установке сервис-воркера:
self.addEventListener(‘install’, event => < event.waitUntil( caches.open(‘my-cache’).then(cache => < return cache.addAll([ ‘/’, ‘/index.html’, ‘/styles.css’, ‘/script.js’ ]); >) ); >);
4. Обработка запросов
Следующим шагом является обработка сетевых запросов. Вы можете использовать сервис-воркер для перехвата запросов и возврата кешированных ресурсов, если они доступны:
self.addEventListener(‘fetch’, event => < event.respondWith( caches.match(event.request).then(response => < if (response) < return response; >return fetch(event.request); >) ); >);
Теперь ваше веб-приложение будет работать в офлайн-режиме и использовать кешированные ресурсы, когда они доступны.
Заключение
Сервис-воркеры – это мощный инструмент для создания современных веб-приложений. Они предоставляют возможности офлайн-доступа, push-уведомлений и множество других функций. Надеемся, что эта статья помогла вам начать использовать сервис-воркеры в своих проектах. Удачи!
Самый СТРАШНЫЙ СКАМ в Интернете
Если вы хотите углубить свои знания в веб-разработке, рекомендуем обратиться к нашему партнеру – школе
Источник: sky.pro
♦ Набор воркеров в проект, приносящий деньги. | Telegram Рулетка | ♦
-Легчайшая схема и доступный мануал, зарабатывать сможет даже ребёнок.
— Поддержка, готовая выжать из клиента всё и ответить на ваши вопросы.
— Заработок не зависит от вашего местонахождения и устройства за которым вы работаете. Вы можете зарабатывать с помощью телефона лёжа на диване или во время скучной работы.
— Многофункциональный подставной бот, который выглядит правдоподобно.
ВЫСОКИЙ ПРОЦЕНТ ВЫПЛАТ
— Мы выплачиваем нашим работникам 80% от сделки, 70% через поддержку.
Примерный заработок в день: 2-5к рублей.
Вступить в команду
Пожалуйста, авторизуйтесь для просмотра ссылки.
Забаненный
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Участник
Через несколько дней подобный работник будет повторять этот текст на бутылке
Начинающий
-Легчайшая схема и доступный мануал, зарабатывать сможет даже ребёнок.
— Поддержка, готовая выжать из клиента всё и ответить на ваши вопросы.
— Заработок не зависит от вашего местонахождения и устройства за которым вы работаете. Вы можете зарабатывать с помощью телефона лёжа на диване или во время скучной работы.
— Многофункциональный подставной бот, который выглядит правдоподобно.
ВЫСОКИЙ ПРОЦЕНТ ВЫПЛАТ
— Мы выплачиваем нашим работникам 80% от сделки, 70% через поддержку.
Примерный заработок в день: 2-5к рублей.
Источник: yougame.biz
Использование Worker-серверов
Worker в рамках платформы SIP.TG — это сервер, отвечающий за обработку и преобразование голосовых данных из формата SIP в формат Telegram и обратно.
Это задача, работающая в режиме реального времени, требует больших вычислительных ресурсов и эффективность её выполнения напрямую влияет на качество голоса во время разговора.
Ввиду большой вычислительной сложности, в рамках платформы предусмотрено наличие неограниченного числа Worker-серверов для масштабируемости системы и распределения нагрузки. Кроме того, размещение Worker-серверов в разных географических зонах позволяет улучшить ещё один показатель качества соединения — уменьшить задержку в прохождении сигнала.
Облачная инфраструктура SIP.TG
Инфраструктура Worker-серверов SIP.TG надежно защищена, сервера при необходимости быстро масштабируются, расположены в разных географических зонах.
Сегодня наши Worker-сервера работают в дата-центрах Москвы, Франкфурта, Амстердама, Лондона, Вашингтона, Минска.
Сервера, обслуживающие пользователей на платных тарифах более производительные и надежные.
Преимущества собственных Worker-серверов
В дополнении к официальным Worker-серверам, предусмотрено также наличие пользовательских Worker.
Подключая свой собственный Worker к платформе SIP.TG, вы получаете следующие дополнительные возможности:
- самостоятельно выбирать оборудование исходя из ожидаемой нагрузки;
- размещая Worker в дата-центре рядом с виртуальной АТС, достигнуть минимальную задержку голоса во время разговора;
- обеспечить полную конфиденциальность содержимого разговора, т.к. голосовые потоки не передаются даже на платформу SIP.TG;
- получить доступ извне к SIP-серверам, расположенным в локальных или ограниченных сетях;
- обеспечить дополнительную конфиденциальность SIP-аккаунтов (по желанию);
- делиться своими вычислительными ресурсами с другими пользователями SIP.TG (по желанию).
Системные требования для Worker-серверов
Исполняемая среда Worker построена на базе платформы виртуализации Docker на основе образа ОС Ubuntu 18.04. Основной образ подготовлен для платформы amd64, однако имеются образы и для других платформ.
С целью избежания программной эмуляции среды исполнения, мы не рекомендуем использовать в качестве основной операционную систему, отличную от Linux (например Mac OS или Windows).
Все дополнительные программные зависимости уже содержатся в распространяемом образе Worker, на основной ОС необходимо наличие только Docker CE и Docker Compose.
Сервер должен обладать выделенным IP-адресом и быть доступен из внешней сети, либо у Вас должна быть возможность «пробросить» один произвольный TCP-порт на внешний IP-адрес.
Исходя из наших тестов производительности, каждый звонок потребляет около 2.5% ресурсов одного ядра процессора AMD Ryzen 5 1400 и около 1 Мб ОЗУ при использовании кодека A-law.
Настройка собственных Worker
Получение сертификатов
В результате бот пришлёт 2 файла: приватный ключ и сертификат, необходимые для безопасного соединения. Сохраните их, позже они потребуются для записи на сервер Worker.
Подготовка сервера
Самая подробная и актуальная информация по настройке сервера расположена на странице проекта на GitHub. Порядок действий включает в себя:
- обновление установленного ПО (при необходимости);
- установка ПО Docker;
- получение шаблонов конфигурационных файлов;
- сохранение файлов сертификатов из бота на сервере;
- внесение изменений в конфигурационные файлы (при необходимости);
- запуск Worker на сервере.
Подключение к Worker
Последний шаг в настройке — это настройка параметров подключения к Worker через бота, а именно — указание адреса подключения. Нажмите кнопку Адрес и введите внешний адрес и порт сервера, на котором запущен Worker. Далее нажмите кнопку Включить для попытки соединения с сервером Worker. Если параметры подключения неверны, Вы получите сообщение об ошибке и Worker будет отключен.
Права использования
Через бот можно установить один из 2 режимов, который влияет на права использования Worker другими пользователями SIP.TG:
- (ключ) Личный — режим, при котором использовать Worker может только его владелец и пользователи, которым явно предоставлен доступ;
- (глобус) Публичный — режим, позволяющий любому пользователю SIP.TG использовать ваш Worker.
Ограничения пользовательского Worker
Свой Worker можно использовать как в режиме Софтфон, так и Шлюз. Однако последний может содержать SIP-аккаунты 2 типов: с входящим подключением и с исходящим. Ограничение заключается в том, что SIP-аккаунты с входящим типом подключения можно использовать только с Официальными Worker. Данное ограничение связано с особенностью внутреннего устройства платформы SIP.TG.
Второе ограничение заключается в отказоустойчивости. В случае недоступности пользовательского Worker, нагрузка переносится на другой Worker того же владельца. Если это единственный Worker у пользователя, нагрузка не переносится. Нагрузка не переносится на Worker других пользователей (а также на официальные), поскольку пользовательский Worker может быть настроен иначе, что может привести к неоправданному отключению SIP-аккаунтов (например, если SIP-сервер, запрещает подключения извне, или если Ваш Worker меняет пароли от SIP-аккаунтов — см. ниже).
Конфиденциальность SIP-аккаунтов
Ядром подсистемы SIP является платформа IP-телефонии Yate. Гибкость платформы позволяет «на лету» изменять любые данные о SIP-аккаунте (например, пароли), поступающие от платформы SIP.TG. Таким образом, платформа SIP.TG может содержать фейковые пароли, но в момент подключения к SIP серверу через ваш Worker, пароль будет заменяться на реальный. Данное поведение достигается за счёт использования внешнего модуля, пример которого представлен на GitHub.
Источник: www.sip.tg