1. Серверная революция в 2020 году
Знаете ли вы, что графитовые документы, Weibo и Mango TV, которые мы используем каждый день, полностью или частично используют бессерверные технологии.
На самом деле, Zhihu также использует Leancloud.
Развитие технологий позволяет нам построить сервер с высокой доступностью, сравнимый с большим заводом, не тратя ни копейки и не нанимая сильную серверную команду.
1. Графитовый футляр для документов
Документация Graphite не поддерживается серверной или микросервисной архитектурой в обычном смысле. Вместо этого он растет в облаке благодаря бессерверной архитектуре.
Alibaba Cloud Function Compute, ранее разработанная полностью управляемая вычислительная служба, управляемая событиями в Китае, стала доступна для Malong Technology, Weibo, Mango TV, Shishi Documents и других клиентов. Давайте посмотрим, как ведущие интернет-компании Китая используют функциональные вычисления для развития своего бизнеса.
потребности клиента
Когда несколько пользователей графитовых документов совместно работают над одним и тем же документом/таблицей, они могут изменять одно и то же содержимое, что приводит к конфликтам. Graphite Documents необходимо внедрить набор сервисов для обработки конфликтов редактирования документов в режиме реального времени, а также для плавной обработки пиковых нагрузок по разумной цене.
решение
Реализуйте логику с интенсивными вычислениями, например документируйте совместную работу в реальном времени как функции и инициируйте выполнение функций с помощью HTTP-запросов.
Эффект
С помощью возможности масштабирования ресурсов на уровне миллисекунд в Function Compute решается проблема расширения вычислительных ресурсов из-за внезапного пикового использования утром и вечером и экономится 58% затрат на серверы. Поскольку проблема балансировки нагрузки вычислений с интенсивным использованием ЦП больше не рассматривается, эффективность разработки и стабильность процесса значительно повышаются.
2. Годовой отчет Нодерсюрвей
Nodesurvey — это ежегодный отчет о тенденциях Node, который составляют Alibaba, Tencent и другие компании.
Среди будущих ключевых слов, Serverless стал наиболее актуальной темой.
2. Что такое бессерверное
Серверная служба должна предоставлять нам стабильные и надежные услуги.
Кроме того, необходимо снизить затраты и повысить эффективность.
Например:
- Динамическое расширение - ненужные машины вовремя отключаются
- Сократите расходы - чем меньше людей, тем лучше, не покупайте то, что можно арендовать
Для достижения этой цели цель бэкэнда постоянно обновляется и развивается.
1. Эволюция архитектуры Интернета
Эволюцию архитектуры Интернета можно условно разделить на следующие три этапа:
- Монолитная эпоха
- Эпоха микросервисов
- Serverless
1.1 Монолитная эпоха
Это эквивалентно тому, что все приложения устанавливаются на сервер.Например, самые ранние NetEase и Sohu могли запускаться с хоста Unix.
Это немного похоже на самую примитивную аркадную игру, где аппаратное обеспечение + программное обеспечение + операционная система — все это делает одна компания.
1.2 Эпоха микросервисов
Архитектура микросервисов — это архитектурная концепция, предназначенная для отделения решения путем разложения функциональности на отдельные сервисы. Его основная функция заключается в декомпозиции функций на отдельные сервисы, тем самым уменьшая связанность системы и обеспечивая более гибкую сервисную поддержку.
Проще говоря, это разбирать сложные вещи на части и делать их. Требуется огромная команда.
Это немного похоже на команду King of Glory от Tencent. По сумме премий по итогам года можно увидеть их огромную организационную структуру.
1.3 Serverless
Бессерверная архитектура не означает, что сервер не требуется, а означает, что сторонние поставщики облачных вычислений предоставляют разработчикам необходимые функции в виде услуг, таких как базы данных, сообщения и аутентификация. Его основная идея состоит в том, чтобы позволить разработчикам сосредоточиться на создании и запуске приложений без необходимости управлять серверами.
Это эквивалентно разработке игр, нам нужно только сосредоточиться на логике программы. Все остальное на аутсорсе.
Напоминает мне время, когда Bluehole разработала Chicken, в основном 3D-модели и игровые движки покупались на игровом рынке и собирались. Организация всей Голубой дыры не очень большая.
2. Эволюция архитектуры облачных сервисов
Для достижения цели автоматического масштабирования наших сервисных ресурсов подавляющее большинство приложений в настоящее время выполняются с использованием облачных технологий.

Вы знаете? На самом деле доля бэкенд-программистов, пишущих код, составляет менее 30%, так что же они делают в остальное время?
С наступлением эры облачных вычислений традиционная ИТ-архитектура и методы эксплуатации и обслуживания принесли множество новых технологий, включая виртуальные машины, контейнеры и микросервисы.
Эти техники служат следующим целям:
- сократить расходы
- Повысить эффективность
Как можно достичь этой цели? Ответ должен заключаться в том, чтобы свести к минимуму нагрузку на бизнес-пользователей, связанную с эксплуатацией, обслуживанием и ИТ-архитектурой, и сосредоточиться на создании собственных бизнес-приложений.
Остальное остается за поставщиком облачных услуг.
Front-end разработка + back-end разработка => облачная разработка + терминальная разработка
2.1 Сервер BareMetal Bare Metal
Это можно рассматривать как бизнес по аренде выделенных физических серверов. Таким образом, нет необходимости арендовать компьютерный зал, тянуть оптические кабели и устанавливать серверы.
2.2 Виртуальные машины Служба виртуальных машин
Замена физической машины виртуальной машиной в основном предназначена для того, чтобы избежать проблем с установкой операционной системы и базового программного обеспечения.
Нам просто нужно арендовать виртуальную машину.
2.3 Развертывание контейнера
Это эквивалент облегченной виртуальной машины, в основном представленной технологией Docker.
2.4 Serverless
Бессерверная архитектура не означает, что сервер не требуется, а означает, что сторонние поставщики облачных вычислений предоставляют разработчикам необходимые функции в виде услуг, таких как базы данных, сообщения и аутентификация. Его основная идея состоит в том, чтобы позволить разработчикам сосредоточиться на создании и запуске приложений без необходимости управлять серверами.
Проще говоря, вам просто нужно загрузить код.
Окончательный вывод
BareMetal | Virtual machines | Container | Serverless | ||
---|---|---|---|---|---|
функция | Бизнес-код | ✅ | ✅ | ✅ | ✅ |
Layer | eggjs/spring | ✅ | ✅ | ✅ | ✅ |
Время выполнения | Node/Java/Python | ✅ | ✅ | ✅ | |
инфраструктура | Kubeless | ✅ | ✅ | ||
аппаратное оборудование | сеть, оборудование | ✅ |
Видно, что лучшим решением на данный момент является Serverless.
3. Бессерверная архитектура
кто-то сказал,
Программирование = Алгоритмы + Структуры данных
Так,
применить = логика + хранилище,
Мы можем разделить приложения на бизнес-логику без сохранения состояния и службы с отслеживанием состояния.
Serverless (приложение) = Faas (бизнес-логика) + Baas (сохранение состояния)
Если мы хотим построить полноценный сервис на Serverless, нам нужно разбить программу на эти две части.
Возьмем в качестве примера небольшую программу
1. Faas
Faas — это функция как услуга, мы обычно называем ее вычислением функций или службой выполнения функций. По сути, это упаковка и перепродажа вычислительного объема на облачной платформе. Просто нужно, чтобы пользователь загрузил функцию.
Функции
-
без гражданства
-
код + конфигурация зависимостей
кейс
-
лямбда Amazon AWS
-
Google Облачные функции Google
-
Алиюн Алиюн ФК
-
Tencent Cloud SCF — бессерверная облачная функцияserverless.cloud.tencent.com/start?c=ft
Кроме того, если вы хотите, чтобы функция вызывалась через Http-запрос, вам также нужен шлюз
- Шлюз API AWS
2. Baas
Bass — это Backend as a Service, что означает, что мы можем арендовать удаленные серверные службы, не создавая их самостоятельно. Большинство используемых здесь сервисов — это сервисы обслуживания состояния, такие как сервисы хранения, такие как MongoDB, сервисы аутентификации и так далее.
Функции
- состояние
- Предоставить сервисный API
поставщик услуг
- LeanCloud
- Firebase
4. Сценарии применения
Наконец, давайте поговорим о сценариях бессерверных приложений.
Прежде всего, я думаю, что все друзья, которые хотят начать свой бизнес, могут рассмотреть возможность размещения своих проектов напрямую на Serverless.
1. Предпринимательский проект
С проектом toC количество пользователей вашего проекта не будет большим до получения финансирования. Также легко динамически расширять емкость в своевременной и внезапной сцене. Ключ в том, чтобы эффективно оставить затраты на обслуживающий персонал. Вы должны знать, что нужно много денег, чтобы найти команду бэкенда, которая может полностью построить микросервисную архитектуру. И надежна ли и эффективна ли команда — это тоже проблема, которая вносит много неопределенностей в продвижение проекта.
Подождите, пока не будет инвестиций, тогда и говорите об этом.
Вам даже не нужно тратить деньги
ссылка здесь
2. Сценарий запроса события
- пользовательское изображение
- Интернет вещей
- Запись точки захоронения
- сценарий по времени
3. Сценарии с высокими затратами на эксплуатацию и обслуживание
- Снимок экрана веб-страницы — снимок экрана pupteer + рендеринг SSR
- вычисления больших данных
4. Сценарии всплеска трафика
- мероприятия, акции
- Обычная сцена (каждый день у еды на вынос есть очевидные пики и спады)
Молодежь должна говорить о боевых искусствах! ! !点赞
,关注
,收藏
Все устроено! ! !
- это мыКоманда фронтенда Huaguoshanпроект с открытым исходным кодомelement3
- Библиотека компонентов внешнего интерфейса, поддерживающая vue3.