По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Какое будущее ждет нас в контакт центрах с точки зрения кастомер сервис (клиентского сервиса)? Как компании создают новые пространства для коммуникации со своими потребителями? Будем говорить про чат боты - будущее клиентского сервиса. На цифрах, кейсах, исследованиях, в том числе социальных, постараюсь рассказать о том, почему в контакт центрах будущего, живых операторов будет меньше, а VoIP (классические телефоны) и CTI (интеграция компьютерных приложений и телефонии) отойдет на второй план. Посмотреть доклад Чат - боты это определенно хайповая история, несмотря на то, что сам хайп сейчас немного поугас. Компании абсолютно разного уровня внедряют чат - ботов: от больших банков, где чат бот органично вписывается в ИТ экосистему и помогает сократить косты на операторов и снизить их загрузку на рутинные операции до маленьких компаний, e-commerce или туристических фирм, где смысл чат - бота скорее сводится к тому, чтобы показать уровень технологичности на ряду с более "аналоговыми" конкурентами. Посмотрим на крупных игроков IT рынка, которые уже бороздят просторы ML/AI в поиске способа доставить счастье своим пользователям, среди них как Zero UI решения, которые вовсе не имеют привычного интерфейса, так и уже вполне рабочие чат боты: Алиса - умный помощник от Яндекс. Это мозги, которые живут почти во многих приложениях Яндекса и в хардварных устройствах. Кстати, по данным Яндекса, в приложении поиска доля голосовых запросов на октябрь 2018 года была 20%. Помимо пользовательских сценариев, Алиса сможет решать конкретные бизнес задачи по клиентскому обслуживанию клиентов вашего контакт центра, как автоматизированном режиме, так и в режиме диалога с оператором. Это реализуется с помощью платформы Яндекс.Диалоги - легкий способ связать жителя экосистемы Яндекса с вашим бизнесом, так сказать, не отходя от кассы. Кстати, количество активных пользователей алисы в месяц (MAU) 35 млн. - подумайте, сколько из них ваших потенциальных или текущих клиентов. Про Amazon и их разработки. Вы наверное слышали про виртуальный ассистент Alexa. Внутри алексы используются алгоритмы Amazon Lex А так как Amazon научился монетизировать свои технологии как никто другой, то они продают Amazon Lex в видео фреймворка (интерфейса) для создания приложений - как голосовых так и текстовых, в которых используются алгоритмы понимания естественных языков (NLU), и распознавания речи ASR. О первых я расскажу подробнее в конце статьи. Фреймворк, как заявляют ребята с Амазона, в контексте контакт центров классно подходит для рутинных операций - смена пароля, баланс, встреча с представителем компании и некоторые другие. Бот помощник Олег от банка Тинькоф. Бот помогает управлять кредиткой или дебетовой картой или заказать финансовые документы, снижая нагрузку на живых операторов и помогает закрыть пользовательские сценарии, купить билеты в кино и забронировать столик в ресторане. Тут можно отметить 2 самых очевидных пункта, которые дает бот: Ретеншн (вовлеченность) пользователей. Экосистема с элементами фана повышает вовлеченность к бренду и втягивает пользователей в экосистему. Билеты в кино, скидки, столики, переводы, а еще и голосом с ботом, который может ответить что то смешное или даже грубое, что насмешит друзей и спровоцирует цепочку рассылки диалога друзьям. Из этого вытекает следующий пункт: Виральность - распространяемость контента. На старте бот Тинькоф отвечал пользователям весьма неоднозначно. Например, на старте, попросив "сотку" у банка вы рисковали получить неплохую ответочку: Этот ответ массово распространился по социальным сетям. Это и есть та самая виральность. Вообще много мнений и обсуждений, касаемо чат ботов: начиная от того, что рынок еще не готов и сама технология бесполезна, заканчивая тем, что люди не любят общаться с чат ботами. Если два первых барьера мы с вами обсудили, то про второй я хочу поговорить немного подробнее. Блок про поколение Z - почему он в соц. сетях и не любит голос Впервые в истории, в 2011 в UK заметили, что объем телефонных звонков упал на 10%. При более детальном анализе было обнаружено, что максимально влияющая на падение показателя когорта пользователей - это люди 16 - 24 лет, которые предпочитают текстовую коммуникацию. К обеспокоенности провайдеров, масла в огонь подлил государственный медиарегулятор Ofcom (управление по коммуникациям), отчитавшись - 96% британцев в возрасте 16 - 24 используют текстовые сообщения каждый день. Итак, кто эта группа - 16 -24? Условно говоря, это люди рожденные после 1995 по 2012 года, и поздние Z - рожденные после 2000. Частично, тенденции к цифровизации и ухода в онлайн начали проявляться и у Миллениалов или, как принято их называть Поколение Y. Это люди рожденные с 1981 и до 1996 года. Несколько факторов, которые характеризуют поколение Z: Поколение Z очень целеустремленны. как пишут в исследованиях, это, "most success oriented". Взросление в процессе рецессии, войны, террористических атак, трудные времена на территории РФ. Зачастую, им приходилось наблюдать за борьбой родителей в трудные времена. Масла в огонь подливали миллениалы, полностью зацикленные на карьере. Настроение на успех на выходе дает следующий пункт, пусть и сомнительный - многозадачность. Многозадачность. Поколение Z чувствует себя спокойнее, выполняя несколько задач одновременно. Запостить фотографию в инстаграм, написать друзьям, почитать новости на медузе, сделать фильтра в снэпчате, погонять слова в скаенге. Мы не говорим об эффективности подобных активностей (которая по моему мнению, околонулевая), мы говорим про сам посыл. Тут и возникает важный нюанс - в контексте решения многозадачности, Z, решая свои вопросы с компанией, у которой они берут услугу, предпочтут отправить сообщение в бот в телеграмме или в приложении и ждать ответа, чем висеть на телефоне, холде, ждать ответа оператора и просто говорить голосом. Но это не главная причина. Важнейшей является то, что поколение Z нативно вросло в digital. Нативно в digital. Z находятся в цифровом пространстве полностью. Мессаджинг (текстинг), мемы, фотографии, лайки, обсуждения, снэпчаты - среда, в которой они существуют. И в ней, телефонному звонку, да и голосовой коммуникации в целом остается все меньше и меньше места. Соответственно, Z ожидают, что диджитал будет окружать их везде - решить проблемы с банком, заказать услугу, купить товар или еду, путешествия и прочее. Не давая им возможности обратиться в диджитал, мы рискуем потерять эту аудиторию. Существует множество других характеристик, которые прямо или косвенно влияют на стремление Z к цифре: Конфиденциальность - Z очень ценят свою конфиденциальность. Представьте Z, который едет в полном автобусе, звонит в контакт центр, где его просят назвать кодовое слово? Кажется, он будет слегка сконфужен Z легко принимают новое Вот такие они, эти ребята в гучи, суприм и кроссовках на высокой платформе. Давайте закрепим и посмотрим, что об этом думают большие компании. Пруфы того, что это важно В феврале 2018 года в Токио консалтинговая компания Гартнер отчиталась - к 2020 году 25% всех клиентских итераций будут происходить через VCA (virtual customer assistant), если переводить дословно - виртуальных клиентских помощников, или чат ботов, в контексте моего доклада и контакт - центра. Джин Альварез, вице - президент в Гартнер отчитался, что более чем половина крупного энтерпрайза уже начали инвестировать и исследовать виртуальных помощников, в разрезе решения стандартных вопросов с последующей эскалацией сложных на агента. Вот цитата Джина (Gene Alvarez): "As more customers engage on digital channels, VCAs are being implemented for handling customer requests on websites, mobile apps, consumer messaging apps and social networks" Перевод: С погружением клиентов в цифровые каналы коммуникации, все больше VCA (виртуальные клиентские помощники) внедряются для обработки клиентских запросов на сайтах, мобильных приложениях, мессенджерах и соц. сетях" Это важно, так как мы обсудили ранее, для подрастающего платежеспособного поколения Z - цифровые каналы это нативные вещи. Помимо прочего, важная цифра: организации, использующие VCA, в среднем, смогли сократить количество звонков, операторских чатов и писем на 70% и срезали косты на телефонию в среднем на 33%. В отчете так же было отмечено увеличение общего уровня удовлетворенности клиентов. Я не стану добавлять это в статью, так как Гартнер поленился рассказать, какие метрики для этого они посчитали и как измерили. Дальше. Ребята из Juniper Research еще в 2017 году говорили, что чат - боты - гейм чейнджер для банков и здравоохранения. Джунипер прогнозирует, что количество клиентских взаимодействий с чат-ботами в здравоохранении увеличится с 12% до 75% к 2022 году, а в банковском секторе достигнет 90% к этому времени. Автор исследования Лоурен Фои (Lauren Foye) объясняет: "We believe that healthcare and banking providers using bots can expect average time savings of just over 4 minutes per enquiry, equating to average cost savings in the range of $0.50-$0.70 per interaction. As Artificial Intelligence advances, reducing reliance on human representatives undoubtedly spells job losses." Перевод: Мы считаем, что банки и компании в области здравоохранения, используя чат- боты могут сэкономить более 4 минут на один клиентский запрос. Это примерно 50 - 70 центов за одну итерацию. 4 минуты на обращении что примерно ровняется $0.5 - $0.7. Лоурен пугает нас тем, что развитие AI (искусственного интеллекта) так или иначе приведет к потере работы многими людьми. Спасибо Лоурен, тебя это тоже коснется. Кстати, про искусственный интеллект. А точнее про одно из его направлений NLP (Natural Language Processing), или говоря по русски, обработку естественного языка. Про natural language processing (NLP). Обработка естественного языка Кратко пробежимся по технологии, которая драйвит эту отрасль. NLP - обработка естественного языка. Это направление породила одна проблема: компьютеры прекрасно справляются со структурированными данными, таблицами, приведенными к единообразию датасетами, но мы с вами общаемся не методами структурами, а словами. Тут и появилась идея научить машины понимать живой человеческий язык. В рамках решения этой задачи, как и в любой другой задаче машинного обучения, принято разбивать задачу на последовательность подзадач. Это называется пайплайн, он же конвейер процессов, которые необходимо выполнить. Давайте попробуем кратко разобраться на примере текста, взятого из википедии про Лондон: London is the capital and most populous city of England and the United Kingdom. Standing on the River Thames in the south east of the island of Great Britain, London has been a major settlement for two millennia. It was founded by the Romans, who named it Londinium. Тут есть несколько сегментов полезной информации про Лондон, где он находится и кем основан. 1. Дробим на предложения Первый этап пайплайна - дробим текст на предложения. Самое простое - по знакам препинания. Но современные алгоритмы используют более хитрые способы. Вот что у нас получилось: London is the capital and most populous city of England and the United Kingdom. Standing on the River Thames in the south east of the island of Great Britain, London has been a major settlement for two millennia. It was founded by the Romans, who named it Londinium. Три отдельных смысловых блока. Отлично. 2. Токенизация Оно же выделение слов. Так как мы уже разбили текст на предложения, берем первое и дробим - алгоритм прост - разбиение по пробелам или знакам препинания "London", "is", "the", "capital", "and", "most", "populous", "city", "of", "England", "and", "the", "United", "Kingdom", "." 3. Части речи Теперь смотрим на каждое слово отдельно и понимаем, что это - существительное, глагол, прилагательное или еще что то. Готовые фреймоврки обучены на на миллионах слов и учитывают слова стоящие рядом, для повышения точности определения. Получаем: London - имя собственное is - глагол the - артикль capital - существительное and - союз most - наречие populous - прилагательное 4. Лемматизация Лемматизация (англ. lemmatization) - приведение словоформы к ее первоначальной словарной форме (лемме). По факту, это отсечение окончаний и использование основой формы. Например, в русском языке словарной формой считается: существительные - именительный падеж, единственное число (руками - рука) глаголы - инфинитивная форма (искали - искать) прилагательные - единственное число, именительный падеж, мужской род (телекоммуникационными - телекоммуникационный) В NLP лемматизация обычно выполняется простым поиском форм в таблице. Вот что мы получаем: London - имя собственное (уже начальная форма) is - глагол (превращается в be) the - артикль (уже начальная форма) capital - существительное (уже начальная форма) and - союз (уже начальная форма) most - наречие (уже начальная форма) populous - прилагательное (уже начальная форма) 5. Стоп слова В нашем примере мы рассматриваем англоязычный фрагмент текста. Поэтому, из него нужно убрать слова, которые создают избыточный шум - артикли, например "and", "the", "a". Обычно, это делается по готовым таблицам. Снова смотрим на наше предложение: London - имя собственное (уже начальная форма) is - глагол (превращается в be) the - артикль (уже начальная форма) capital - существительное (уже начальная форма) and - союз (уже начальная форма) most - наречие (уже начальная форма) populous - прилагательное (уже начальная форма) 6. Парсинг зависимостей Следующим шагом нам важно понять взаимосвязь слов в предложении. Нужно понять, кто является родителем для каждого из токенов (слов) и установить тип взаимосвязи: субъект предложения, свойство, логическая связь, определение и так далее. В результате мы получаем уже почти готовое дерево связей. Логическим продолжением этого шага является группировка токенов по признакам взаимосвязи. Было: London - имя собственное (уже начальная форма) is - глагол (превращается в be) the - артикль (уже начальная форма) capital - существительное (уже начальная форма) and - союз (уже начальная форма) most - наречие (уже начальная форма) populous - прилагательное (уже начальная форма) Стало: London is the capital and most populous city 7. Распознавание именованных сущностей (Named Entity Recognition, NER) Двигаясь по пайплайну мы подходим к самому интересному, на мой взгляд, шагу - распознавание смысла слов. Вы уже заметили, что в нашем предложении встречаются географические сущности, такие как "London", "England" и "United Kingdom". На этом этапе пайплайна мы пониманием что это географический объект и определяем это, наполняя наш текст смыслом. NER алгоритмы хорошо работают с такими объектами как: имена людей; названия компаний; географические обозначения (и физические, и политические); продукты; даты и время; денежные суммы; события. Тут важно отметить, что хорошая NER система это не только словари. Они так же просматривают контекст предложения и окружение каждого конкретного токена. Адекватный NER должен уметь отличить американскую актрису Дакоту Фаннинг от штата Дакота на севере США 8. Разрешение кореференции Если быть кратким, то это решение вопроса с местоимениями, которые во всем тексте означают тот или иной объект. Вернемся к нашему изначальному тексту, который мы разбивали на предложения London is the capital and most populous city of England and the United Kingdom. Standing on the River Thames in the south east of the island of Great Britain, London has been a major settlement for two millennia. It was founded by the Romans, who named it Londinium. Обратите внимание на "It was founded by the Romans, who named it Londinium." Это было основано римлянами. Это? Что это? Вот и задача для для алгоритмов связать, что Это в данном контексте - это = Лондон. 9. Итог. Полный пайплайн NLP Итак, подытожим. Чтобы получать смыслы из речи человека текст проходит мощную обработку в конвейере NLP. Помимо прочего, NLP можно юзать и в голосовых технологиях, преобразуя речь в текст в рамках ASR механизмов и снова пропуская через пайплайн NLP. Суммарно, чтобы читать между строк и получать смысла информация перемалывается через эти 9 шагов (где то их может быть меньше, а где то в другом порядке, например): Дробим на предложения Токенизация Части речи Лемматизация Стоп слова Парсинг зависимостей Группировка токенов (существительных) Распознавание именованных сущностей (Named Entity Recognition, NER) Разрешение кореференции Кто делает? Продуктов много. Есть как тривиальные инструменты создания блок - схем (статичных алгоритмов обработки запросов), так и интерфейсы с продвинутым NLP, о котором мы поговорили ранее, есть энтерпрайзные решения, есть и решения для SMB. Не делая рекламы, поговорим про бесплатные решения. Rasa.com RASA.com Ребята дают бесплатный фреймворк для быстрого старта. Есть энтерпрайз коммерческие тарифы, которые дадут SLA и не комьюнити бэйзд гарантии. У ребят 0.5 млн загрузок по миру, 3.5 активных участников комьюнити. Схематично парни из раса.ком обозначили принципы работы их чат бота как на картинке: Можно попробовать абсолютно бесплатно, дав плечо фреймворку в свои данные. Итоги С развитием машинного обучения цифровое будущее становится все ближе и ближе. На руку прогрессу и развитию роботизации в клиентском сервисе играют поколенческие факторы, общие характеристики нового поколения, тренды и даже политическая обстановка. Будьте первыми, будьте актуальными, будьте технологичными и свежими.
img
В некоторых компаниях существует сменный график работы операторов. Как правило, в этом случае, они делят между собой рабочее место. То есть, когда приходит один оператор, то он вводит на общей рабочей станции свои учётные данные и работает под своей учётной записью, а когда приходит другой оператор - то делает то же самое, но под собственной учётной записью. Таким образом, компания экономит на необходимости организации отдельного рабочего места под каждого сотрудника. Кстати, с IP-телефоном можно провести точно такой же трюк и для этого существует специальное понятие - Hot Desking. Как это сделать на IP-АТС Asterisk с помощью графической оболочки FreePBX, мы сейчас расскажем в этой статье. Итак, для того чтобы настроить эту фичу, нам сначала нужно разделить привычный нам модуль Extensions на два отдельных модуля Devices и Users. Для этого открываем Advanced Settings, ищем опцию User & Devices Mode и меняем её значение на deviceanduser вместо extensions. Не забываем нажать Submit и Apply Config Отлично! Теперь, если мы посмотрим в раздел Applications, то увидим там два новых модуля - Devices и чуть пониже - Users: Рассмотрим модуль Devices. Данный модуль теперь управляет сущностями устройств, то есть – телефонов, софтфонов и других клиентов. Как видите, здесь уже находятся внутренние номера, которые были созданы ещё в модуле Extensions: Однако теперь, доступный для настройки функционал немного изменился: По умолчанию, на данном устройстве есть жёстко привязанный пользователь (в данном случае - 175. Мы рассмотрим его настройки в модуле Users). В такой конфигурации на данное устройство нельзя залогиниться с учётными данными другого пользователя. Чтобы это изменить, нужно поменять значение опции Device Type с Fixed на Adhoc. Дефолтного пользователя, который будет по умолчанию залогинен на данном устройстве, можно оставить без изменения, а можно поставить: Теперь нужно сделать настройки для пользователей, которые будут логиниться на данное устройство в модуле Users. Как видите, пользователи также остались от тех, которые были созданы при модуле Extensions: Для начала сделаем настройки для дефолтного пользователя на устройстве - 175. Самое главное здесь – это задать пароль (а точнее даже PIN) пользователя, чтобы функционал аутентификации заработал на устройстве. Пользователь вручную будет вводить этот пароль на устройстве, поэтому в качестве пароля можно указать только цифры: Один настроенный пользователь нам ничего не даст, чтобы организовать сменную работу на устройстве, нам нужно их как минимум два. Для этого, в модуле Users, создадим ещё одного пользователя, который не будет привязан ни к какому устройству и зададим для него PIN код: Супер, переходим к самому интересному. У нас есть софтфон DrayTek, который выступает в роли устройства с номером 175. По умолчанию, на нём сидит пользователь Алексей Добронравов с внутренним номером 175. Но сегодня в смену вступает созданный ранее пользователь - Крипто Виталий с внутренним номером 199. Чтобы залогиниться на устройстве, Крипто Виталию нужно: Набрать Feature Code - *11; Он услышит в трубке предложение набрать свой внутренний номер (199) и нажать #; Если такой внутренний номер существует, то ему будет предложено ввести пароль (PIN код) и нажать #; Если пароль будет введён верно, то пользователя поблагодарят и сообщат, что оператор зарегистрирован. Для того, чтобы удалить регистрацию, используйте фича код - *12 Сногсшибательно! Теперь на нашем устройстве (софтфоне) зарегистрирован другой пользователь (Крипто Виталий) и он может совершать звонки! Давайте проверим это, позвонив на другой внутренний номер, например - 188, на котором у нас зарегистрирован стационарный телефон: Profit! Попробуйте реализовать этот функционал у себя и сократите затраты на организацию дополнительных мест!
img
В предыдущем материале мы рассмотрели, как работает Интернет на базовом уровне, включая взаимодействие между клиентом (вашим компьютером) и сервером (другим компьютером, который отвечает на запросы клиента о веб-сайтах). В этой же части рассмотрим, как устроены клиент, сервер и веб-приложение, что мы можем удобно серфить в Интернете. Модель клиент-сервер Эта идея взаимодействия клиента и сервера по сети называется моделью «клиент-сервер». Это делает возможным просмотр веб-сайтов (например, сайт wiki.merionet.ru) и взаимодействие с веб-приложением (как Gmail). На самом деле, модель клиент-сервер - это ни что иное, как способ описать отношения между клиентом и сервером в веб-приложении. Это детали того, как информация переходит от одного конца к другому, где картина усложняется. Базовая конфигурация веб-приложения Существует сотни способов настройки веб-приложения. При этом большинство из них следуют одной и той же базовой структуре: клиент, сервер, база данных. Клиент Клиент - это то, с чем взаимодействует пользователь. Так что «клиентский» код отвечает за большую часть того, что на самом деле видит пользователь. Это включает в себя: Определение структуры веб-страницы Настройка внешнего вида веб-страницы Реализация механизма пользовательского взаимодействия (нажатие кнопок, ввод текста и т.д.) Структура: Макет и содержимое веб-страницы определяются с помощью HTML (обычно HTML 5, если речь идет о современных веб-приложениях, но это другая история.) HTML означает язык гипертекстовой разметки (Hypertext Markup Language). Он позволяет описать основную физическую структуру документа с помощью HTML-тэгов. Каждый HTML-тэг описывает определенный элемент документа. Например: Содержимое тега «<h1>» описывает заголовок. Содержимое тега «<p>» описывает абзац. Содержимое тега «<button>» описывает кнопку. И так далее... Веб-браузер использует эти HTML-тэги для определения способа отображения документа. Look and Feel: Чтобы определить внешний вид веб-страницы, веб-разработчики используют CSS, который расшифровывается как каскадные таблицы стилей (Cascading Style Sheets). CSS - это язык, который позволяет описать стиль элементов, определенных в HTML, позволяя изменять шрифт, цвет, макет, простые анимации и другие поверхностные элементы. Стили для указанной выше HTML-страницы можно задать следующим образом: Взаимодействие с пользователем: Наконец, для реализации механизма взаимодействия с пользователем, на сцену выходит JavaScript. Например, если вы хотите что-то сделать, когда пользователь нажимает кнопку, вы можете сделать что-то подобное: Иногда взаимодействие с пользователем, может быть реализовано без необходимости обращения к вашему серверу - отсюда и термин "JavaScript на стороне клиента". Другие типы взаимодействия требуют отправки запросов на сервер для обработки. Например, если пользователь публикует комментарий в потоке, может потребоваться сохранить этот комментарий в базе данных, чтобы весь материал был структурирован и собран в одном месте. Таким образом, вы отправляете запрос на сервер с новым комментарием и идентификатором пользователя, а сервер прослушивает эти запросы и обрабатывает их соответствующим образом. Сервер Сервер в веб-приложении прослушивает запросы, поступающие от клиента. При настройке HTTP-сервера он должен прослушивать конкретный номер порта. Номер порта всегда связан с IP-адресом компьютера. Вы можете рассматривать порты как отдельные каналы на каждом компьютере, которые можно использовать для выполнения различных задач: один порт может быть использован для серфинга на wiki.merionet.ru, в то время как через другой получаете электронную почту. Это возможно, поскольку каждое из приложений (веб-браузер и клиент электронной почты) использует разные номера портов. После настройки HTTP-сервера для прослушивания определенного порта сервер ожидает клиентские запросов, поступающие на этот порт, выполняет все действия, указанные в запросе, и отправляет все запрошенные данные через HTTP-ответ. База данных Базы данных – это подвалы веб-архитектуры - большинство из нас боятся туда спускаться, но они критически важны для прочного фундамента. База данных - это место для хранения информации, чтобы к ней можно было легко обращаться, управлять и обновлять. Например, при создании сайта в социальных сетях можно использовать базу данных для хранения сведений о пользователях, публикациях и комментариях. Когда посетитель запрашивает страницу, данные, вставленные на страницу, поступают из базы данных сайта, что позволяет нам воспринимать взаимодействие пользователей в реальном времени как должное на таких сайтах, как Facebook или в таких приложениях, как Gmail. Как масштабировать простое веб-приложение Вышеописанная конфигурация отлично подходит для простых приложений. Но по мере роста приложения один сервер не сможет обрабатывать тысячи - если не миллионы - одновременных запросов от посетителей. Чтобы выполнить масштабирование в соответствии с этими большими объемами, можно распределить входящий трафик между группой внутренних серверов. Здесь все становится интересно. Имеется несколько серверов, каждый из которых имеет собственный IP-адрес. Итак, как сервер доменных имен (DNS) определяет, на какой экземпляр вашего приложения отправить трафик? Ответ очевиден - никак. Управление всеми этими отдельными экземплярами приложения происходит через средство балансировки нагрузки. Подсистема балансировки нагрузки действует как гаишник, который маршрутизирует клиентские запросы по серверам как можно быстрее и эффективнее, насколько это возможно. Поскольку вы не можете транслировать IP-адреса всех экземпляров сервера, вы создаете виртуальный IP-адрес, который транслируется клиентам. Этот виртуальный IP-адрес указывает на подсистему балансировки нагрузки. Таким образом, когда DNS ищет ваш сайт, он указывает на балансировщик нагрузки. Затем подсистема балансировки нагрузки перескакивает для распределения трафика на различные внутренние серверы в реальном времени. Возможно, вам интересно, как подсистема балансировки нагрузки узнаёт, на какой сервер следует отправлять трафик. Ответ: алгоритмы. Один популярный алгоритм, Round Robin, включает равномерное распределение входящих запросов по ферме серверов (все доступные серверы). Вы обычно выбираете такой подход, если все ваши серверы имеют одинаковую скорость обработки и память. С помощью другого алгоритма, Least Connections, следующий запрос отправляется на сервер с наименьшим количеством активных соединений. Существует гораздо больше алгоритмов, которые вы можете реализовать, в зависимости от ваших потребностей. Теперь поток трафика выглядит следующим образом: Службы Итак, мы решили проблему трафика, создав пулы серверов и балансировщик нагрузки для управления ими. Но одной репликация серверов может быть недостаточно для обслуживания приложения по мере его роста. По мере добавления дополнительных функциональных возможностей в приложение необходимо поддерживать тот же монолитный сервер, пока он продолжает расти. Для решения этой проблемы нам нужен способ разобщить функциональные возможности сервера. Здесь и появляется идея служб. Служба является просто другим сервером, за исключением того, что она взаимодействует только с другими серверами, в отличие от традиционного веб-сервера, который взаимодействует с клиентами. Каждая служба имеет автономную единицу функциональности, такую как авторизация пользователей или предоставление функции поиска. Службы позволяют разбить один веб-сервер на несколько служб, каждая из которых выполняет отдельные функции. Основное преимущество разделения одного сервера на множество сервисов заключается в том, что он позволяет масштабировать сервисы полностью независимо. Другое преимущество здесь заключается в том, что он позволяет командам внутри компании работать независимо над конкретной услугой, а не иметь 10, 100 или даже 1000 инженеров, работающих на одном монолитном сервере, который быстро становится кошмаром для менеджера проекта. Краткое примечание: эта концепция балансировщиков нагрузки и пулов внутренних серверов и служб становится очень сложной, поскольку вы масштабируете все больше и больше серверов в вашем приложении. Это особенно сложно с такими вещами, как, например, сохранение сеанса, обработка отправки нескольких запросов от клиента на один и тот же сервер в течение сеанса, развертывания решения для балансировки нагрузки. Такие продвинутые темы не будет затрагивать в данном материале. Сети доставки контента (Conten Delivery Network – CDN) Все вышеперечисленное отлично подходит для масштабирования трафика, но приложение все еще централизовано в одном месте. Когда ваши пользователи начинают посещать ваш сайт из других концов страны или с другого конца мира, они могут столкнуться с длительной задержкой из-за увеличенного расстояния между клиентом и сервером. Ведь речь идет о "всемирной паутине" - не о "местной соседней паутине". Популярная тактика решения этой проблемы - использование сети доставки контента (CDN). CDN - это большая распределенная система «прокси» серверов, развернутая во многих центрах обработки данных. Прокси-сервер - это просто сервер, который действует как посредник между клиентом и сервером. Компании с большим объемом распределенного трафика могут платить CDN-компаниям за доставку контента конечным пользователям с помощью серверов CDN. CDN имеет тысячи серверов, расположенных в стратегических географических точках по всему миру. Давайте сравним, как веб-сайт работает с CDN и без него. Как мы уже говорили в разделе 1, для типичного веб-сайта доменное имя URL преобразуется в IP-адрес сервера хоста. Однако если клиент использует CDN, доменное имя URL преобразуется в IP-адрес пограничного сервера, принадлежащего CDN. Затем CDN доставляет веб-контент пользователям клиента, не затрагивая серверы клиента. CDN может сделать это, сохраняя копии часто используемых элементов, таких как HTML, CSS, загрузки программного обеспечения и медиаобъектов с серверов клиентов. Главная цель - расположить контент сайта как можно ближе к конечному пользователю. В итоге пользователь получает более быструю загрузку сайта.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59