[Аудио и видео] Введение в Live CDN
[Аудио и видео] Введение в Live CDN

Введение в потоковую передачу CDN

0x1 Предисловие

Следующее взято изЭксплуатация и обслуживаниепосмотреть на проблему с точки зрения,В основном он основан на опыте, обобщенном на основе архитектуры прямого вещания определенного облака и определенной станции.,Я еще добавил немного своих мыслей,Я надеюсь пойти дальше по пути CDN.

0x2 Введение в потоковую передачу CDN

Бизнес в прямом эфире условно делится на три этапа:

  • Якорный толчок
  • Центр прямой трансляции принимает трансляцию
  • Граничные узлы обеспечивают распространение среди пользователей.

Для ознакомления вы можете обратиться к официальной документации поставщика облака.

0x21 Основы аудио и видео

Якорный толчок обычно собирает разнообразные данные (экран, Камера, расширяемый контент),использоватьOBSили другойПрограммное обеспечение для потоковой передачи передает потоки на узлы CDN,Конечно, здесь реализованы и другие функции.,НапримерКрасотаводяной знакфильтрПодождите, пока все функциипрежде чем нажатьУже обработано。

С точки зрения протокола, основные концепции живой CDN включают формат пикселей, протокол передачи, протокол кодирования видео и протокол инкапсуляции видео. В настоящее время основными являются yuv420 (формат пикселей), aac (кодирование звука), H264 (формат кодирования видео). , flv/hls (протокол инкапсуляции видео), rtmp (протокол передачи видео)

Для подробного ознакомления с протоколом вам необходимо самостоятельно загуглить. Вот краткий список распространенных протоколов, которые будут использоваться в прямых трансляциях.

  • Кодирование видео: H264, H265
  • Кодирование звука: MP3, AAC, HE-AAC
  • Упаковка видео: MP4, FLV, HLS, DASH.
  • Формат пикселей: YUV, RGB
  • Транспортный протокол: RTMP, RTSP, SRT.

0x22 Процесс потоковой передачи

Конфигурация push якоря относительно проста, вы можете посмотреть на рисунке ниже.

Когда вы нажмете, чтобы начать потоковую передачу, клиент инициирует запрос на подтверждение RTMP к серверу. После успешного установления связи он начнет проверку аутентификации. Когда аутентификация будет пройдена, пограничный сервер активно отправит поток в прямую трансляцию. center и отправить поток в центр прямой трансляции, эта длинная ссылка будет действовать до конца push якоря, за исключением непреодолимых рисков (дрожание сети, аномальная загрузка узла и т. д.).

0x23 Процесс получения потоков

Извлечение потоков — это пассивный процесс. Пользователь обычно отправляет запрос на пограничный узел для воспроизведения потока. Пограничный узел проверит, есть ли в нем поток. Если нет, он рекурсивно перейдет в центр прямой трансляции. вытащить поток. Если центральный поток еще не существует, он будет. Если он существует, будет возвращена ошибка 404.

Система узла CDN 0x3

Архитектура узла 0x31

0x32 Компоненты узла

0x321 Запись трафика

Вход трафика относится к тому, как клиент запрашивает ваш узел.

Как правило, более зрелые коммерческие поставщики CDN размещают N групп VIP на LVS каждого узла, за которым следует реальный сервер. Каждая группа VIP имеет разные функции, такие как различение крупных, средних и мелких клиентов, специальные VIP для возврата в исходное состояние. , использует ли https и т. д., когда пользователь запрашивает доменное имя, CNAME может быть проанализировано. При принятии решений о планировании ваш запрос в конечном итоге будет преобразован в запись A. Эта запись A является VIP. ЛВС.

Если вы просто создаете CDN для себя, более простой и простой в обслуживании метод — напрямую использовать записи A. На каждой машине в компьютерном зале есть разрешение доменного имени. Это разрешение имеет только записи A и записи AAAA. запросит интерфейс планирования, и интерфейс вернет несколько URL-адресов, которые фактически сообщают вам, какая машина предоставляет вам услуги. Эта ситуация сильно зависит от планирования и терминалов. Обычно таким образом можно использовать только собственные сети CDN. Подробное планирование будет представлено позже.

Преимущества и недостатки двух способов входа:

  • Преимущества LVS: Использование LVS для привязки VIP-персон больше подходит для сценариев, когда несколько групп VIP-персон предоставляют услуги, и может хорошо завершить планирование сложных функций.
  • Недостатки LVS: используется ли NAT или DR.,Всем необходимо поддерживать кластер LVS,Нужна нагрузка и состояние здоровья, ориентируйтесь наLVS.,Если ваш LVS-кластер зависает,Весь узел выйдет из строя. Изменения конфигурации сложны,Для достижения удобного управления также необходимо реализовать динамическое чтение файлов конфигурации с помощью LVS.
  • Преимущества DNS: Настройка проста, нужно только ввести запись A и запись AAAA.
  • Недостатки DNS: сильная зависимость от внешнего интерфейса. планирования,Относительный LVS,Время, необходимое машинам для перехода в автономный режим, увеличено.,LVS будет активно выгонять машину,DNS может только ждать, пока трафик медленно упадет.
0x322 Шлюз

Запросы CDN в конечном итоге будут направляться на бизнес-порты, такие как IP:80, IP:443 и IP:1935. Как правило, эти порты контролируются Nginx или его вторичными продуктами разработки. nginx выполнит уровень пересылки запроса и перенаправит запрос в модуль nginx-rtmp или приложение SRS.

Конечно, шлюз точно не будет просто функцией пересылки.,картинаАутентификацияобратитесь к черному и белому спискуНа этом уровне также реализованы функции ожидания.。

0x323 SRS

SRS — это простой и эффективный видеосервер реального времени, поддерживающий RTMP/WebRTC/HLS/HTTP-FLV/SRT. По сравнению с NGINX-RTMP, SRS поддерживает более богатый набор протоколов и больше соответствует современным сценариям прямого вещания.

После вторичной разработки SRS стал лучше работать с потоковой передачей RTMP. В предыдущем NGINX часто были ошибки. Это сокращает процесс возврата к источнику за счет добавления слоя микросервисов (kratos) перед шлюзом, и SRS будет пересылать запрос Kratos через шлюз, который отвечает за взаимодействие с SRS. поток и запрашивает тот, у которого есть процесс. Это значительно сокращает процесс возврата к источнику.

Адрес: https://gitee.com/ossrs/srs

0x324 Возврат к исходному коду

С изменением архитектуры сценарии использования устройства возврата к источнику постепенно исчезли. В настоящее время можно создавать только некоторые файлы специального протокола (HLS7) для выполнения запросов возврата к источнику по требованию.

Обновления архитектуры, связанные с прямой трансляцией: шлюз(nginx-rtmp)->Вернуться к источнику шлюз->kratos->SRS

0x325 Приложение для создания отчетов журнала

Объем журналов CDN очень велик, и прямая трансляция не требует больших требований к диску. Как правило, относительно большие механические диски не предназначены специально для прямой трансляции, а это означает, что пространство вашего журнала ограничено, и вам необходимо сообщать о журналах. время. Эти журналы будут использоваться в таких сценариях, как анализ задержек, расчет пропускной способности и т. д.

0x326 Решение для оптимизации первого кадра с низкой задержкой (быстро)

Опыт просмотра в реальном времени имеет два направления.,время первого кадра,Одним из них является задержка между вашим временем и временем просмотра прямой трансляции.。Ниже приводится введение в то, что произойдет, если вы пройдетеquicчтобы уменьшить задержку。

QUIC — это программное обеспечение Google с открытым исходным кодом, основанное на UDP Четырехуровневый протокол имеет большие преимущества в низкой задержке и высокой надежности.

Эксплуатация и терминал обслуживания поддерживает QUIC,Когда пользователь запрашивает воспроизведение потока,client->Канал краевого узла будет переключен наQUICпросить。Узел также поддерживает возврат в начало координат.QUICпротоколиз,Возможность использовать QUIC для возврата к источнику,Это означает, что нисходящая линия связи ускоряется.,Чтобы добиться оптимизации в этом аспекте.

При использовании QUIC также возникают некоторые проблемы. Наиболее очевидная из них заключается в том, что использование QUIC машинных ресурсов необходимо контролировать до соответствующего порога. Конечно, его также необходимо разработать и измерить для оптимизации, чтобы не влиять на производительность. Существует также запрошенная вами стратегия сокрытия. Если ваше приложение QUIC зависает, как переключиться на использование TCP для потоковой передачи.

0x327 Сбор данных о пропускной способности компьютерного зала/машины.

Информация о пропускной способности более важна в трех местах: во-первых, это выходная пропускная способность коммутатора, а во-вторых, пропускная способность сетевой карты сервера и пропускная способность фактического объема бизнеса.

Сбор данных о пропускной способности коммутатора:Выключатель также можно понимать как компьютерный зал.из Последний уровень защиты,Метод Сбор данных о пропускной способности коммутатора собирается с использованием SNMPv3.,Конечно, есть предпосылки,Ваше устройство сбора данных находится в белом списке коммутатора. Преимущество SNMPv3 заключается в том, что для сбора данных требуется учетная запись и пароль.,Это как добавить уровень защиты, верно?,Пропускная способность сбора данных протокола SNMP — это используемый OID.,Вы не можете отправить много задач одновременно,В противном случае нагрузка на ЦП коммутатора не выдержит.

Сбор данных о пропускной способности сервера:сервериз Сбор сетевых карт намного проще, чем свитчи,Есть два плана,Первый сбор по SNMP,Второй использует Прометус для сбора,Все в основном играют с этим планом.

Сбор бизнес-пропускной способности:Компьютерный зал может иметь более одного бизнеса.,Такие как прямая трансляция, услуги динамического ускорения по требованию.,Развернуто в разных компьютерных залах,В настоящее время невозможно смотреть только на пропускную способность коммутатора. Вы можете использовать метод iptables для сбора данных о пропускной способности.,Более подробную информацию можно найти по этой ссылке: https://www.cnblogs.com/feng0919/p/15203395.html.

В этом документе представлен только сбор данных о пропускной способности.,Итак, как проверить пропускную способность обратного канала между одним и тем же кластером?,Нужен в это времяиспользоватьipsetКоманда для создания кластера,затем вiptables Используйте набор совпадений в .

0x328 Создание/развертывание/обслуживание контейнерной среды

Преимущества развертывания среды k8s на узлах CDN относительно высоки. При использовании Deamon ваши пограничные узлы могут поддерживать пакетное развертывание контейнеров, а также вы можете использовать время простоя машины для запуска автономных сервисов.

0x3281 Построение краевого узла K8S

Одной из характеристик краевых узлов является сложность сетевой среды.,Оператор вашей машины может быть узлом не трех основных операторов (China Mobile, China Unicom, China Telecom),так что тыизk8Sкластериз Сеть нуждаетсяBGPиз Выход,Кластерные приложения обычно размещаются в облаке.

0x3282 Развертывание узла Node

Узлу Node необходимо развернуть только два приложения, Docker и Kubelet, и он может написать Ansible и выполнять их непосредственно в пакетном режиме. Следует отметить, что лучше всего использовать независимые точки монтирования для каталогов Docker. Контейнеры и «голые» приложения изолированы друг от друга и не затрагиваются.

0x3283 Обслуживание замены контейнера

Поскольку среда K8S передается специальному контейнерному отделу для обслуживания кластера, эксплуатация и обслуживание отвечают только за обслуживание узлов Node. Сложность обслуживания значительно снижается. Вам нужно только обратить внимание на то, является ли среда Docker нормальной. и бревна вращаются нормально.

0x329 Сбор данных мониторинга

С точки зрения мониторинга и сбора рекомендуется использовать promethus. После развертывания node_exporter на граничном узле можно получить большую часть данных об оборудовании. Для настраиваемых бизнес-данных вы можете использовать задачу cron для регулярного выполнения сценария и его записи. в указанный каталог для загрузки. Если есть силы, то можно. Но можно написать агента самостоятельно, вытаскивать из платформы задачи, которые должна выполнять машина, и выполнять их регулярно.

При бизнес-операциях и обслуживании более необходим сбор бизнес-данных. Основными данными являются:

  • Информация о версии основных приложений (может осуществляться мониторинг версий для облегчения выпуска)
  • Мониторинг бизнес-трафика (удобен для расчета пропускной способности)
  • Потоковая передача данных (требуется коллекция открытого интерфейса вашего сервера прямой трансляции)
  • Данные обнаружения сети (используются для оценки качества сети)
  • Мониторинг состояния услуги
  • Использование оборудования каждым компьютером приложения (статистика top-b, используемая для анализа узких мест в производительности)
0x32910 План оптимизации для машины прямой трансляции

Текущая ситуация в бизнесе прямых трансляций,Узким местом аппаратного обеспечения является главным образом процессор.,Службы потокового вещания потребляют гораздо меньше памяти и диска.,Оптимизация использования ЦП может улучшить общую производительность компьютера.,Конечно, это также требует поддержки исследований и разработок.

Нажмите на прямую трансляцию, чтобы запустить,по требованиюбизнесиз Узким местом в основном являетсяIOВслед за процессором,Если машинный сервис поддерживает как,Также поддерживает прямую трансляцию,Общий коэффициент использования будет улучшен.

Оптимизация пакета машины для прямой трансляции, мощный процессор, память 64/128 ГБ, 2 SSD-диска по 120 ГБ + диск PCIE 500 ГБ полностью адаптированы к самому бизнесу прямой трансляции.

Машины потокового вещания — это предприятия с высоким трафиком, и параметры вашего ядра необходимо соответствующим образом настраивать. Эта настройка представляет собой непрерывную задачу, которую можно выполнить только путем накопления проблем по мере их возникновения.

0x33 Концепция и реализация кластера

Почему существует концепция кластера? Это потому, что у этой машины может не быть этого ресурса, но у другой машины в том же компьютерном зале он есть. Таким образом, вам нужно только вернуться к источнику в том же кластере и. нет необходимости снова возвращаться к источнику, чтобы получить его.

В этом же кластере есть важное понятие,то естьПоследовательный хеш,Хешируйте как машину, так и запрос,Преимущество в том,,Если машина отключается от сети,Не вызовет путаницы в хеше.

Так как же добавить в кластер машины, работающие в одном бизнесе?

  • После ввода соответствующей информации на платформе используйте вызывающий интерфейс для запроса, и интерфейс вернет IP-адрес онлайн-машины в том же кластере.
  • Команда ipset добавляет компьютер в кластер. Целью присоединения также является сбор статистики использования пропускной способности предприятия.

0x34 Проверка части перед подключением узла к сети

Выход узла в Интернет означает доступ к трафику. Если ваш узел работает ненормально, это приведет к большому количеству сбоев запросов и окажет огромное влияние. Поэтому нет необходимости проверять его перед подключением к сети. Основное содержание проверки следующее:

  • Процессы важных сервисов (Nginx, SRS) онлайн?
  • Нормальна ли среда контейнера и можно ли нормально извлечь образ
  • Если позволяют условия, вы можете заранее отключить поток, чтобы проверить, в порядке ли он.
  • Сеть и службы DNS в норме?
  • /dev/shm Размер диска памяти нормальный?
  • Нормальный ли уровень доступа к трафику (все ли ВИПы LVS смонтированы)

0x4 исходная станция прямой трансляции

0x41 Архитектура исходного сайта

0x42 Компоненты исходного сайта

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

0x421 GSLB

Шлюз исходной станции прямого вещания управляет LVS VIP на внешней стороне исходной станции rtmp и планирует его при наличии запроса на воспроизведение или потоковую передачу. Суммируйте информацию о потоке, сообщаемую компьютером исходной станции rtmp. Если контрольный сигнал определенного компьютера прерывается, он больше не будет запланирован для соответствующего компьютера, и компьютер будет удален.

Это приложение очень важно и требует стабильной работы. Что касается аппаратного обеспечения, GSLB требует только баз данных POD и KV с соответствующей аппаратной производительностью.

Если ваш запрос возврата к источнику L2 к GSLB не удался, вам также необходимо указать соответствующую стратегию перехода на более раннюю версию. Например, если определенная логика жестко запрограммирована, в случае сбоя доступа к GSLB она будет направлена ​​непосредственно к определенному доменному имени. .

0x422 исходная станция rtmp

Отвечает за хранение всех онлайн-потоков, выполнение запросов обратно к источнику от краевых узлов и потоковую передачу запросов от других кластеров в центре прямой трансляции.

Компьютеры в исходном кластере rtmp будут периодически сообщать GSLB о своем состоянии работоспособности и текущей информации о онлайн-потоке.

Для этого приложения обычно требуется более десяти физических компьютеров, и нет риска их одновременного сбоя. Если машина выйдет из строя, GSLB напрямую отключит его. В настоящее время исходный сайт все еще использует NGINX-RTMP и планирует заменить его. это с SRS, но исходный сайт слишком стабилен, версия может выпускаться только раз в шесть месяцев, а план замены в основном GG.

Следует отметить, что эти машины находятся в среде интрасети и имеют VIP-адреса общедоступной сети, а это означает, что сетевая конфигурация вашей машины будет более сложной, поэтому будьте осторожны, чтобы правильно настроить сеть. Каждая машина на исходном сайте имеет около 20 IP-адресов, а сложность сети очень высока. Проверка каждый раз, когда машина подключается к сети или к сети, занимает много времени.

0x423 Кластер задержки широковещательной передачи

Функция этого кластера заключается в увеличении задержки потоковой передачи. Просто полагаться на исходный сайт для реализации этой логики будет немного сложно и непросто в обслуживании. Поэтому этот кластер возник в основном для удовлетворения требований OTT-сервисов. задержка должна быть 45С). Выше характеристики этого дела).

Этот кластер будет активно извлекать поток с исходного сайта RTMP, хранить его локально в течение определенного периода времени, а затем отправлять на исходный сайт. Конечно, имя потока будет изменено, и протокол RTMP будет использоваться на всем протяжении. процесс. Причина отказа от использования HLS, который, естественно, поддерживает протоколы отложенного вещания, заключается в том, что некоторые телевизоры его не поддерживают и вынуждены использовать RTMP.

Приложение, используемое этим кластером, также является NGINX-RTMP.

Кластер транскодирования 0x424

Кластер транскодирования будет относительно тяжелым. Основное решение состоит в том, чтобы преобразовать битрейт исходной картинки, передаваемой привязкой, в разные определения. Каждый поток будет потреблять много вычислительной мощности в процессе транскодирования. Кластер транскодирования находится в источнике. site. В кластере большинство машин, и есть два типа транскодирования: некоторые используют машины с процессором, а некоторые — с графическим процессором. Конкретный принцип не ясен.

Процесс задачи перекодирования примерно следующий:

  • Бизнес-тест запускает определенный порог и отправляет задачу в интерфейс перекодирования.
  • кластер перекодирования Назначение задач определенной машине,Машина будет активно получать поток от исходной станции RTMP (при условии, что GLSB запрашивается, чтобы узнать адрес потока),И перекодируйте его локально.
  • После перекодирования он запросит, на какой компьютер отправлен поток GSLB, а затем продолжит пересылку перекодированного потока на исходный сайт RTMP. После его получения станция-источник RTMP синхронизирует статус с GSLB.
0x425 Push-кластер

Принцип работы кластера ретвитов аналогичен принципу отложенной трансляции, за исключением того, что сценарий спроса изменился. Это активная передача потока в определенные места, обычно на коммерческие CDN или другие исходные сайты для резервных потоков.

Он отвечает за пересылку потока от источника к месту назначения.,Каждая задача создастrtmpилиffmpegизпроцесс выполнения этой задачи。

0x426 Кластер записи/скриншотов

此кластеризэффектто есть ПучокЖивая записьв указанный формат упаковкиизвидеофайл,Этот кластер также имеет относительно высокие требования к процессору.,Вычислительная мощность ЦП является узким местом модификации кластера. В кластере в основном используется модуль NGINX_RTMP.

В случае децентрализации кластер также перемещается на край, и эту задачу берет на себя вышестоящий push-узел.

0x43 Расширенное использование исходного сайта

0x431 Если тот же кластер возвращается к исходному состоянию уменьшен

Исходная станция прямой трансляции не имеет многих портов, открытых для внешнего мира. Если взять в качестве примера наш бизнес, исходная станция RTMP имеет только три общедоступных IP-адреса. Если вы возвращаетесь к источнику через устройство LVS перед исходной станцией RTMP, то половина пропускной способности сетевой карты вашего компьютера используется для возврата к источнику в том же кластере. Это приведет к пустой трате ресурсов, поскольку ваш компьютер. может использовать только половину пропускной способности бизнеса.

Решение состоит в том, что каждая машина прослушивает дополнительный порт в дополнение к порту 1935. Порт каждой машины различен, поэтому машину можно отличить по порту.

Когда у L2 есть запрос на возврат к источнику, при запросе GSLB он сообщит вам адрес IP:PORT. Это решение значительно снижает пропускную способность возврата к источнику в том же кластере.

Схема топологии следующая:

0x432 Как реализовать статистику пропускной способности

Исходный сайт находится за четырехуровневым устройством балансировки нагрузки, таким как LVS. Обычно используется режим NAT или DR, который позволяет напрямую подсчитывать пропускную способность на устройстве балансировки нагрузки, но режим DR может учитывать только входящую и исходящую пропускную способность. Статистика пропускной способности может быть реализована только на машине.

Идея состоит в том, чтобы использовать iptables. VIP будет установлен на вашем компьютере, и разные VIP можно будет поместить в разные правила цепочки. Таким образом, вы можете увидеть распределение возвратов разных операторов.

0x5 Система планирования

0x51 Реализация планирования

Следующие три распространенные системы планирования CDN — это планирование DNS, планирование 302 и планирование HTTPDNS, но в конечном итоге все они позволят пользователям получить доступ к определенному IP-адресу. Ваша библиотека планирования должна иметь полное количество доступных IP-адресов и статус этих IP-адресов, иначе ваша система планирования будет иметь неточное планирование. Конечно, вам также необходимо приобрести библиотеку IP-адресов, иначе вы не сможете подтвердить, откуда взялся запрошенный IP.

0x52 Взаимодействие между планированием и узлами

У каждой машины есть порог производительности машины. Поскольку пропускная способность узла включает в себя выставление счетов, для достижения точного планирования необходимы базовые данные.

Здесь будет единый кластер, который собирает информацию об оборудовании машин и компьютерного зала. Как правило, данные о процессорах и сетевых картах собираются, а затем загружаются в систему планирования. Эти обработанные данные также содержат ряд информации, такой как возможности MaxUse каждой машины и компьютерного зала, можно ли это запланировать, а затем позволяют принимать решения по планированию.

Поддержка платформы 0x6

Будучи платформой поддержки CDN, она должна реализовать множество функций для защиты CDN. Вот что, я думаю, должно быть.

  • Ввод информации о машине/компьютерном зале, включая возможности и пороговые значения оборудования, атрибуты машины и т. д.
  • Онлайн и оффлайн операции, происходящие в одном месте, могут привести к остановке диспетчером отправки данной машины/машинного зала.
  • Возможность обнаружения, определение состояния портов ICMP, SNMP, TCP (80 443 1935) устройства и автоматическое выполнение вышеуказанных операций в случае неисправности. Он также может автоматически подключаться к сети после восстановления.
  • Мелкие операторы при редактировании и запросе библиотеки IP часто арендуют часть IP трех крупных операторов, и для достижения нормального планирования обязательно требуется специальная обработка этих IP.
  • Часть проверки перед подключением к сети обнаруживает нормальный режим работы, выдает сообщение об ошибках в случае ненормального режима и может принудительно подключиться к сети.
  • Конфигурация возврата к источнику, в какой вторичный узел возвращается пограничный узел прямой трансляции и в какой компьютерный зал возвращается вторичный узел, — все это необходимо настроить в одном месте.

0x61 Как сэкономить затраты

Стоимость — неотъемлемая тема для каждой компании. Как сократить расходы, не влияя на качество, — это хороший способ повысить производительность.

0x62 более продвинутый протокол

  • В настоящее время основным кодированием видео является H264, и H265 можно использовать для уменьшения пропускной способности. Степень сжатия H265 значительно улучшена по сравнению с предыдущим. H264 может передавать цифровые изображения стандартной четкости со скоростью ниже 1 Мбит/с; H265 может передавать 720P (разрешение 1280*720) обычное аудио и видео высокой четкости со скоростью передачи 1–2 Мбит/с.
  • Традиционное сегментирование HLS, основанное на протоколе сквозного совместного использования HLS7, модернизируется для использования совместного использования P2P для решения проблем с пропускной способностью. Подробное введение см. (https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/118533090).

0x63 Децентрализация

По сравнению с основным компьютерным залом, граничные узлы могут иметь худшее качество сети, но цена намного ниже, чем основной компьютерный зал. Вы можете попробовать реализовать некоторые функции исходного сайта на этих пограничных узлах, например, запись снимков экрана. возможностей достаточно, также можно выполнить перекодирование.

Сократите использование облачных ресурсов. Стабильность облачных ресурсов очень хорошая, но стоимость машин слишком высока. Компьютерные залы третьего уровня Edge можно использовать для замены облачных продуктов.

0x64 Использовать более дешевые ресурсы

На рынке появятся некоторые поставщики облачных услуг, которые предоставляют некоторые машины для майнинга. Такое оборудование не может использовать порты 80 и 443. Некоторые из них все еще имеют выделенные линии агрегации. Цена имеет очевидные преимущества по сравнению с IDC. Рекомендуется использовать контейнеризацию бизнес-приложений и использовать K8S для оркестрации ваших машин. Поскольку каждая машина находится в другом месте, концепция кластера отсутствует, что может привести к увеличению количества запросов к источнику. Один из способов улучшить это — полагаться на планирование, позволяющее различным машинам иметь разные потоки. Конечно, горячие потоки будут существовать в каждой машине. Второе — это концепция создания логического кластера, позволяющего этим машинам возвращаться к источнику через общедоступную сеть.

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода