Основные технологии облачной архитектуры (микросервисы, DevOps, контейнерное облако, Service Mesh, Serverless, декларативный API)
Основные технологии облачной архитектуры (микросервисы, DevOps, контейнерное облако, Service Mesh, Serverless, декларативный API)

Введение в статью

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

Каталог статей

существительное грамотность

  • IaaS (Инфраструктура как услуга): Услуги, оказываемые потребителямда Использование всех объектов,Включая обработку, хранение, сеть и другие базовые вычислительные ресурсы.,Пользователи могут развертывать и запускать произвольное программное обеспечение.,Включая операционную систему и приложения. Основная функция — предоставить базовые аппаратные ресурсы в виде сервисов.,Оказание услуг на верхних уровнях. В режиме IaaS,Инфраструктура, которая предоставляет только услуги облачных вычислений,Пользователи могут развертывать и запускать любое программное обеспечение
  • SaaS (Программное обеспечение как услуга): Услуги, предоставляемые клиентам да Приложения оператора, работающие в инфраструктуре облачных вычислений,Пользователи могут использовать клиентский интерфейс, доступный на различных устройствах.,Например, браузер. В режиме SaaS,Пользователи могут использовать услуги облачных вычислений непосредственно через клиент без необходимости управлять каким-либо программным или аппаратным обеспечением.
  • PaaS (платформа как услуга): да Важные компоненты облачных вычислений,Услуги, предоставляемые потребителям, включают развертывание приложений, разработанных или приобретенных клиентами, с использованием предоставленных инструментов разработки в инфраструктуре облачных вычислений поставщика. В режиме PaaS,Пользователям не нужно управлять базовой инфраструктурой облачных вычислений или контролировать ее.,Просто используйте и для управления приложением
  • BaaS (бэкенд как услуга) бэкенд как услуга: Архитектура приложения состоит из большого количества сторонних облачных серверов.иAPIсостоит из,Логическое состояние приложения на сервере управляется поставщиком услуг. Например, типичные веб-приложения и клиентские приложения мобильных приложений.,Основные интерфейсные и внутренние взаимодействиядакRestAPIпозвонить в главный。Вам нужно всего лишь вызвать API поставщика услуг для выполнения соответствующих функций.,Например, общая проверка личности,Облачное хранилище данных/файлов,Push-сообщение,Применить анализ данных и т. д.
  • FaaS (Функция как услуга) функционирует как услуга.Это способ реализации бессерверных вычислений,Поставщик услуг предоставляет платформу,Разрешить клиентам разрабатывать, запускать и управлять функциями приложений.,Без сложности создания и обслуживания инфраструктуры, обычно связанной с разработкой и запуском приложений. Построение приложения по этой модели — способ реализации «Бессерверной» архитектуры.,обычно встроитьмикросервисыприложение при использовании。
  • Xaas…
  • Kubernetes: аббревиатураk8s,Аббревиатура образуется путем замены восьми символов «ubernete» в названии середина на 8. Механизм оркестрации контейнеров с открытым исходным кодом от Google.,Приложения для управления контейнеризацией на нескольких хостах облачной платформы середина,Цель Kubernetes — сделать развертывание контейнерных приложений простым и эффективным (мощным).,Kubernetes обеспечивает развертывание приложений,планирование,возобновлять,Механизм обслуживания.
  • Закон Конвея: Закон Конвеяда Малверн Конвей1967предложенный:дизайн Архитектура системы подвержена генерации этихдизайнкоммуникационная структура организации。С точки зрения непрофессионала:Продукт неизбеженда Что(персонал)Воплощение организационной коммуникационной структуры。

1. Основные концепции облачных технологий

1.1 Микросервисы

микросервисы☁️: микросервисы Ядрода Разбейте традиционные большие монолитные приложения на более мелкие компоненты или модули.,Компоненты или модули называются микросервисами.。Этот расколдавертикальный раскол。Это необходимо сделать от базовой инфраструктуры до базы данных и приложения.середина От промежуточного программного обеспечения до пакетов развертывания программных приложений — они могут быть полностью независимыми.。Можеткодинизотнуждатьсядизайн、развивать、Пакет、развертывать,Все могут быть независимыми。реализовать каждыймикросервисыполностью междуслабая связь,В то же время между каждым микросервисом можно использовать облегченный протокол HTTP. REST-интерфейс для взаимодействия и совместной работы. Ядро микросервисов состоит из двух пунктов: большой мономер должен быть разбит на мелкие части, а небольшой интерфейс микросервиса должен быть разбит через облегченный http. Остальное взаимодействие интерфейса.

1.2 DevOps

DevOps (интеграция разработки, эксплуатации и обслуживания)DevelopmentиOperationsсложное слово из,Ядроданепрерывная интеграцияинепрерывная доставка,Процесс жизненного цикла программного обеспечения должен осуществляться от начала требований до разработки, компиляции, построения, упаковки и развертывания программ проектирования.,Весь процесс от тестовой среды до производственной среды может быть полностью автоматизирован. В то же время, на основе развития самого DevOps, были дополнительно скоординированы и интегрированы лучшие практики, связанные с гибкими исследованиями, разработками и автоматизацией. (Пункт 1. Относится к тому, как три элемента разработки, контроля качества, эксплуатации и обслуживания могут лучше взаимодействовать. Самым ранним ядром DevOps является CI/CD. Непрерывная интеграция и непрерывное развертывание, после DevOps, непрерывная интеграция и непрерывное развертывание расширяются до непрерывной доставки. 2. В настоящее время DevOps обычно обсуждается вместе с гибкими исследованиями и разработками Scrum и управлением процессами, поскольку для достижения непрерывной интеграции и доставки необходимо согласовывать гибкие итеративные версии. )

1.3 Контейнерное облако

Контейнерное облако:Основные концепции облачной среды Контейнерное облако,Два ядра внутри Контейнерного облака,ДаDockerконтейнер,одиндаk8sизконтейнер Планирование ресурсови Договариваться。Чистый Docker-контейнер — это всего лишь слой ресурсов IaaS.。контейнерсамда Более легкий, чем виртуальные машиныизблок изоляции ресурсов,Виртуальная машина да является эксклюзивной для конкретной операционной системы.,сам контейнер построен поверх операционной системы,Несколько контейнеров могут совместно использовать операционную систему,Самая большая разница между даконтейнерами в этой виртуальной машине. По этой причине размер самой виртуальной машины меньше, чем у виртуальной машины.,создавать、разрушать、Планированиеиз Скорость также выше традиционной.из Виртуальные машины работают быстрее。контейнерсамдаIaaSслойизсодержание,Поэтому необходимо объединить k8s для планирования и оркестрации ресурсов.,предоставить на верхний уровеньPaaSслойиз Служитьспособность。(Пешкаконтейнериконтейнериз Договариваться、Планирование一起谈изкогда СразустанетPaasконцепция,На данный момент самая популярная PaaS-платформа планирования контейнеров на базе k8sиDocker). сам контейнер использует базовую операционную систему,в то же времясноваможет быть лучшеизсделай этоCPU、Память、Изоляция сети и других ресурсов.

1.4 Service Mesh

Сервисная сетка:одинидтисередина Синьхуаиз Служитьструктура управления。Оказывается, нужны услуги、ApiИнтерфейс управленияиконтроль,Обычно шлюз API используется для регистрации и подключения интерфейса API к шлюзу API.,потому что Сам шлюз API представляет собой централизованную архитектуру. , поэтому весь трафик запросов может проходить через шлюз API. В это время шлюз API может легко перехватывать трафик и в то же время выполнять различные операции по управлению и контролю перехваченного трафика, такие как безопасность, ведение журнала, ограничение тока, автоматический выключатель. и мониторинг ссылок. В децентрализованной архитектуре такой централизованной точки управления дорожным движением не существует., весь перехват трафика стекает от API-шлюза к каждому микросервисусередина, а это означает, что на каждом конце микросервиса необходимо добавить актерское мастерство Сумка,проходитьактерское Пакет мастерство используется для перехвата трафика и одновременного контроля трафика. На данный момент в микросервиссервисная сеткаизмикросервисы В управлении тожедатакой жеиз Идеи,Например, открытый исходный кодIstioмикросервисыструктура управления,это будет для Служитьконец Внизнаправлениеодинsidecar(Коляска)актерское мастерство,проходитьактерское мастерство осуществляет перехват и контроль трафика. Децентрализованное управление по-прежнему будет фокусироваться на контроле середины, фокус на контроле середины по-прежнему будет децентрализованным, но да Фактический поток управления и поток сообщений доступа к данным интерфейса разделены.,Поток управления включает только обнаружение регистрации службы.,Фактический вызов интерфейса и доступ к сервису не проходят через контроль середина.,Даже если центр управления не работает, это не повлияет на вызов службы интерфейса.

1.5 Serverless

Бессерверная (бессерверная архитектура):первый На более поздних стадиях облачной разработкикназад。Суть облачных технологий заключается в достижении непрерывной восходящей абстракции от ресурсов к сервисам.,Разработчики все чаще отключаются от базовой ИТ-инфраструктуры.,Будут доступны только различные возможности технического обслуживания.,Эти возможности технического обслуживания находятся вServerlessВ архитектуре это называетсяBaaS(Серверные возможности как услуга)。

Serverlessприноситьизкроме тогоодинизменятьда:в традициииз Облачная архитектураразвивать Вниз,на основеDevOps、микросервисыи Контейнерное облакоразвиватьприложениевсе равно выберуодинразвиватьрамка,Это по-прежнему будет включать разработку уровня данных, логического уровня и верхнего уровня представления приложения.,Например, трехуровневая архитектура、Пятиуровневая архитектура。приезжатьServerlessникто Служить Инструментарийкназад,Фреймворки разработки, среды разработки и многоуровневые архитектуры — все заброшено. Ядро реализации любой функции превращается в фрагменты кода,Реализуйте функции с помощью различных фрагментов кода. Реализуйте сложные бизнес-процессы за счет объединения и сборки фрагментов кода.,этотдаServerlessбудущие ожиданиядостигатьиз Эффект。этот ВместеServerlessвнутри дляFaaSслой(Function as a Service)Функция как услуга。 УведомлениеServerless относится к «Бессерверная архитектура» здесь «Бессерверный» Нетотносится Программа не требует сервера для запуска и относится к Наша разработка не требует сосредоточения Базовые ресурсы сервера.

1.6 Immutable Infrastructure

Неизменяемая инфраструктура:Традицияизидти Делатьпрограммное обеспечениепрограммаизразвертывать,При внедрении в производство,После развертывания промежуточного программного обеспечения середина Tomcat,Если вы хотите внести изменения,Независимо от изменений в программе или изменений конфигурации,все будет в оригиналеиз生产环境идти重新развертыватьилидакому-тоодин Измените конфигурацию напрямую。нода Акцент на облачную средуизлюбойодинприложение При внедрении в производство,После формирования экземпляра контейнера сам экземпляр контейнера не должен вносить никаких изменений.,Это неизменно. Если программа или конфигурация изменены, новый экземпляр контейнера должен быть заново создан на основе образа контейнера.,в то же время Поставь старыйизконтейнер Примерразрушать。

1.7 Declarative-API

Declarative-API (декларативный API):Декларативный APIдаи Соответствующие императивным операциямизконцепция,Традиционно создание контейнера требует выполнения командной строки.,В эпоху декларативных API,дляконтейнеризсоздаватьпервыйидти写одинyamlКонфигурационный файл,Укажите, что делать в файле конфигурации.,В то же время какого состояния вы ожидаете достичь после выполнения задачи?,Просто нужно поставить Конфигурационный файл Написано。Шаг 2Получите это на платформеэтотдекларативный Конфигурационный файлназад,Давайте объясним содержимое этого декларативного файла API.,Затем выполните соответствующие серверные операции,После завершения операции одновременно согласуйте различные базовые технические компоненты до необходимого состояния. Ниже декларативного API,Любая модификация производственной среды или программного обеспечения не должна напрямую управлять командой.,Сначала вам нужно написать оператор, а затем сначала написать конфигурацию.,Письменное заявление (файл yaml) может быть включено в конфигурацию управления для контроля и управления. Вам удобно быстро отслеживать, какие операции вы выполняли в производственной среде, когда в производственной среде возникает проблема.,Удобен для сопутствующих операций отката и отката.

2. Service Mesh (подробное введение)

текущий,на основемикросервисы Применение в архитектурном строительстве сталоОсновные методы разработки,строитьмикросервисыприложениедакаждыйразвивать ВОЗ都Может能要面对из Работа。

Однако,В разработке программного обеспечения никогда не бывает серебряной пули,Архитектура микросервисов не только приносит нам ряд удобств.,Есть еще недостатки,Основная проблема заключается в том, как управлять сетевой связью между службами и управлением службами.,Особенно, когда размер вашего приложения становится все больше и больше.,Эта проблема будет становиться все более заметной. (ps: Серебряная пуля — это метафора чрезвычайно эффективного решения,как козырная карта、Самый мощный смертельный прием、Прозвище Эйса и т. д. Это можно понять как абсолютно хорошо)

текущиймикросервисылицоизвопрос:❓

1️⃣Хотя сам фреймворк скрывает некоторые общие детали реализации функций связи распределенной системы, разработчикам приходится тратить больше энергии на освоение и управление самим фреймворком. В реальных приложениях невозможно отслеживать и решать проблемы, возникающие в фреймворке. легкая задача; 2️⃣развиватьрамка Обычно только один или несколько конкретныхизязык,микросервисы Важная функция не имеет ничего общего с даязыком(Нет лучшегоизпрограммированиеязык, Есть только языки программирования, наиболее подходящие для определенного сценария, особенно с развитием ИИ, которые обычно существуют в крупных интернет-компаниях. C/C++、Java、Golang、PHP、Python、NodeJs и т. д.), но те сервисы, написанные на языках без поддержки фреймворка, сложно интегрировать в систему микросервисно-ориентированной архитектуры. Также сложно реализовать различные модули в системе архитектуры на нескольких языках в соответствии с местными условиями. . Это очень сложно для микросервисов. Разработка на разных языках в сервисной среде представляет собой значительные проблемы;

язык

Основная цель

C

Операционная система, встроенная, разработка драйверов

C++

Графика, научные исследования, коммуникации, настольное программное обеспечение, игры, игровые серверы.

C#

Программное обеспечение Windows для настольных компьютеров, Интернет .Net, сервер

Java

Java SE: кроссплатформенное настольное приложение, Android.

Java EE: корпоративные приложения, веб-разработка, серверная часть

Java ME: мобильное приложение, популярное в эпоху несмартфонов

Java Android: используется для разработки приложений Android.

Go

Или Golang, высокопроизводительное серверное приложение с высоким уровнем параллелизма, относительно молодое.

Erlang

Серверные приложения с высоким уровнем параллелизма, в основном используемые для игр.

Python

Интернет, научные вычисления, эксплуатация и обслуживание

Ruby

Web

Perl

Эксплуатация и обслуживание, обработка текста, реже используется

Lisp

Научное исследование, своего рода логикаязык,для искусственного интеллекта

Node

Среда выполнения JavaScript

Haskell

Haskellда Стандартизированный чисто функциональный язык программирования общего назначения.,математическая логика

Scala

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

JavaScrpit

Фронтенд и бэкенд можно сделать в Node.

HTML/CSS

отметкаязык,основнойда Для фронтенд-инженеровстроитьстраницаприложение

Groovy

Гибкий динамический язык для виртуальной машины Java,Полностью совместим с синтаксисом Java.

......

......

3️⃣Фреймворк привязан к сервису в виде библиотеки lib. Проблема совместимости версий библиотеки, когда от нее зависят сложные проекты, очень сложна. При этом обновление библиотеки фреймворка не может быть прозрачным для сервиса. сервис будет вынужден обновиться из-за обновлений библиотеки lib, которые не имеют никакого отношения к бизнесу;

так,Service Mesh Технологии созданы для решения этих проблем. Service Mesh решает текущие болевые точки микросервисов

Википедия

В архитектуре программного обеспечения сервисная сетка — это выделенный уровень инфраструктуры, используемый для облегчения межсервисной связи между сервисами или микросервисами с использованием прокси. Выделенный уровень связи может предоставить множество преимуществ, таких как обеспечение наблюдения за связью, обеспечение безопасных соединений или автоматическое повторение и откат неудачных запросов. Сервисная сетка состоит из сетевого прокси, связанного с каждой службой в приложении, и набора процессов управления задачами. Агент называется плоскостью данных, а процесс управления — плоскостью управления. Плоскость данных перехватывает вызовы между различными службами и «обрабатывает» их; плоскость управления — это мозг сети, отвечающий за координацию поведения агентов и предоставление API-интерфейсов операционному персоналу для работы и наблюдения за всей сетью.

В рамках облачной технологической системы,контейнеризация стала первым выбором разработчиков для развертывания приложений.,существоватьэтотрастение Вниз Фумиюки ВнизKubernetesсновада Первый выборизконтейнер Договариватьсяи Система планирования。Но вk8sиконтейнерзначительно упрощенприложениеразвертывать Из Вниз,Все еще существует возможность, требующая глубокого участия разработчиков.,Затемда Служитьизуправлениеспособность。сервисная сетка изначально родилась из-за необходимости упростить сервис и развязать возможности управления сервисом.Основная концепция состоит в том, чтобы абстрагировать возможности управления сервисами от кода разработчика и реализовать их в отдельном дополнительном агенте.,проходитьдлякаждый Служитьиз Работа负载注入sidecarактерское мастерствосервисная сетказначительно упрощен Служитьуправлениеиздействовать。В то же время это также будетиразвивать ВОЗизкодруководитьразвязка,от此Изназадразвивать Те, кому нужно толькососредоточиться набизнескоди Эксплуатация и обслуживаниеперсонал只需要действоватьсеткавнутриизsidecarСразу Можетквыполнить Служитьизуправление,Можеткобъяснятьсервисная сеткада Общая тенденция возможностей управления услугами в эпоху облачных технологий.

В сервисной сетке запросы маршрутизируются между микросервисами через прокси-серверы на уровне их инфраструктуры. По этой причине отдельные прокси, составляющие сервисную сетку, иногда называют «сопутствующими», поскольку они Запускайте параллельно с каждой службой, а не внутри . Итак, эти прокси-серверы Sidecar (отдельные от каждого сервиса) представляют собой ячеистая сеть,При этом он сотрудничает с микросервисами. Служит уровнем инфраструктуры, который обеспечивает связь между службами.,Service Mesh Это может помочь разработчикам освободиться от дилеммы проблем со связью служб и избавить их от тяжелой работы по разработке и поддержке логики управления связью, поэтому некоторые люди будут Service Mesh 称作第二代микросервисы

Режим коляски из всего языка、возобновлятьвыпускатьи Начните с эксплуатации и обслуживания,выполнитьв бизнес СлужитьизНулевое вторжение,更解藕Вразвиватьязыки Единый технологический стек,Достигнута полная изоляция.,Обеспечивает удобство развертывания и обновления.,ДелатьприезжатьнастоящийизТщательная развязка уровня инфраструктуры и уровня бизнес-логики,Позвольте разработчикам сосредоточиться на бизнесе。с другой стороны,Sidecar Он может обеспечить более гибкое расширение служб приложений и быстрее, не требуя масштабной трансформации служб приложений.

Дайте каштан: В качестве примера возьмем устройства для здоровья, такие как браслеты Xiaomi. На устройстве будут отображаться некоторые показатели человеческого тела, а устройство — это ваш микрокосм. В сервисная сеткавнутрипроходитьSidecarмодель,Когда бизнес-приложение запущено,Всегда естьодинSidecarв бизнесконтейнерруководитьконтроль。Сравниватьнравитьсяобъяснятьиметьодинвеб-сайтизконтейнербег,рядомиметьодинпереписыватьсяизSidecarконтейнер,Он может взять на себя входящий и исходящий трафик веб-сайта.,Вы также можете увидеть статус сайта. В сочетании с большими тенденциями микросервисов,Вы можете себе представить, что если на предприятии существует сложный корпоративный бизнес,,Можно разбить на сто микросервисов,каждыймикросервисы都иметьодинSidecarконтейнерсуществовать旁边时刻идтиконтроль着бизнес Служить。

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

Подвести итог Посмотрите на несколько характеристик сервисной сети👍👍👍:

1️⃣ неинтрузивный прокси:сервисная сеткапредставлятьизsidecarкак Бизнес-микросервисыизактерское мастерство,Выполняемые некоммерческие функции:нравитьсяУправление дорожным движением, сертификация безопасности, мониторинг эксплуатации и обслуживанияждать。sidecarУдалено Бизнес-микросервисыиз Универсальный Функция,Позвольте бизнес-разработчикам сосредоточиться на разработке бизнес-логики,Незачемсосредоточиться –Другие некоммерческие нужды. 2️⃣ Неделовые общественные возможностиразвязка:Бизнес-микросервисы Функция иsidecarРазделение неделовых функцийразвязка,Бизнес-микросервисы фокусируются на бизнес-логике,Функции DFX, не имеющие ничего общего с бизнес-логикой,нравиться Управление дорожным движением, сертификация безопасности, мониторинг эксплуатации и обслуживанияждать,Все обошлоsidecarконтейнер Единая обработка; 3️⃣ Разделение плоскости управления и плоскости данных:этоттакжедасервисная сеткаизбольшое преимущество,проходитьОтдельная развязка плоскости управления и плоскости данных.,Достигайте целей развязки в разных проблемных областях. Плоскость управления фокусируется только на обработке и распространении политик безопасности, мониторинга, трафика и других политик.,Сторона данных фокусируется только на том, как реализовать стратегию.,Соответствующие неисправности не влияют друг на друга.,Например, сбой на уровне управления не повлияет на пересылку трафика на уровне данных.

сервисная сеткаservice-meshдаодин Визуализируйтеизсловесное выражение:service(Служить)-mesh(сетка),Он описывает шаблон зависимости между службами,Прямо как на этом сайте:

Темный те, с кем мы больше всего контактируем в повседневной работе Бизнес-микросервисы ,рядом синий из被称для Коляска(sidecar)Служить,sidecarкак Бизнес-микросервисыиз“актерское мастерство”,Обработка нефункциональных требований с помощью других дополнительных функций Бизнес-микросервисов.,нравитьсясетевая связь、Безопасность、монитор、контроль потокаждать。НесколькоsidecarИз间изсоединятьи Взаимодействие состоит из“сетка”。

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

Должны ли мы использовать сервисную сетку? Хотя мы видели достаточно причин использовать сервисную сетку, вот несколько причин, которые могут побудить нас не использовать ее:

  • сервисная сетка обрабатывает всю межсервисную связь,иРазвертывание и эксплуатация сервисной сети оплачиваются дополнительно.。дляпрощеизприложениепрограмма,Это может быть неразумно.
  • Поскольку мы привыкли иметь дело с некоторыми из этих проблем,Например, код приложения середина автоматический выключатель,Поэтому это может привести к сервисной Повторная обработка сеткасередина.
  • Все больше зависит от таких программ, как сервисная сетка Из类из外部系统Может能会损害приложениепрограммаиз Может移植性,особенно Чтодапотому чтоДля сервисных сетей не существует отраслевого стандарта.
  • потому чтосервисная сетка обычно путем перехвата актерским мастерствоизсетка流量来Работа,Поэтому это может добавить нежелательную задержку к запросу.,в то же времяService Mesh метод вызова сервиса, по сравнению с прямым вызовом сервисного фреймворка, имеет дополнительные Service Mesh середина Sidecar Взаимодействие неизбежно принесет в жертву некоторую производительность.
  • сервисная сетка добавляет множество других компонентов и конфигураций,Требуется точность. Это требует профессиональных знаний,иУвеличенная кривая обучения
  • Наконец, мы можем получить операционную логику (должна быть в сервисной сеткасередина существует) и бизнес-логика (не должна присутствовать в сервисной сеткасередина), смешанные вместе.

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

Платформа приложений Service Mesh

3. Бессерверная технология (подробное введение)

Serverless Официальный сайт Serverless Китайское сообщество

На протяжении всей истории компьютерных технологий мы находим “ Абстракция, разделение, интеграция ” Тема проходит через всю середину. Индустрия каждый раз Абстракция, разделение, интеграция,поднимет инновации на новую высоту,Это также породило огромный рынок и новые бизнес-модели.

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

Бессерверная технология включает в себя элементы:

  • Serverless Рассчитать да Полностью управляемый извычислить Служить,Клиенты пишут код для создания приложений,Нет необходимости управлять базовой инфраструктурой, такой как серверы, или эксплуатировать ее.
  • Serverless Рассчитать да общий、Универсальныйиз,В сочетании с облаком API(BaaS service) возможности, которые могут поддерживать все важные типы приложений в облаке.
  • Serverless Компьютерные технологии не только обеспечивают чистейшую Платите по мере использования(длякод Фактический рабочий расходиз Оплата ресурса),Предоплата и другие режимы учета также должны поддерживаться.,Снижение затрат клиентов в различных сценариях,Очень конкурентоспособен по сравнению с традиционными методами.
  • В отличие от ресурсо-ориентированных вычислительных платформ, таких как виртуальные машины или контейнеры, бессерверные Рассчитать да Дляприложениеиз。Чтобы иметь возможность интегрироватьи Облако связейизсистема продуктов и Чтоэкология,Помогите пользователям реализовать прорывные инновации в методах доставки ценности.

Правила взимания платы за функцию Tencent Cloud

Возьмем Tencent Cloud в качестве примера для развертывания веб-сайта:

  1. первый Войдите в бессерверное приложение и создайте новое приложение
  1. Выберите статический сайт (ранее было приложение SpringBoot),Сообщается о различных ошибках при развертывании веб-сайта.,К счастью, это наконец удалось)
  1. Развертывание завершено

Развертывание здесь занимает около 1-2 минут. Это просто статическая страница. Похоже, оптимизацию нужно продолжать.

доступ

  1. Обновить приложение

Здесь просто напишите HTML-страницу и разверните ее посредством локальной загрузки. Он также поддерживает платформы хостинга кода Github, Gitlab, Gitee, CODING и развертывание по запросу из пользовательского хранилища.

Код, используемый для тестирования, выглядит следующим образом:

кодязык:javascript
копировать
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>website</title>
    
</head>
<body>
    <h1>hello world</h1>
</body>
</html>

Эффект после развертывания

Здесь от начала и до конца развертывания мы не трогали сервер, и нам не приходилось учитывать, использует ли веб-сервер IIS или контейнер, такой как Tomcat, Apache Http, Nginx и т. д. Мы завершили построение сайт, даже не зная IP сервера. В эпоху бессерверных технологий нам больше не придется беспокоиться о том, выдержит ли сервер пики трафика, стоит ли расширять емкость или что делать, если сервер подвергнется атаке хакеров.

Бессерверные возможности:

  • Эластичность по умолчанию:Можетк Легко справляйтесь с большими объемами API проситьи Задача,Больше не будет так, что расширение мощностей является несвоевременным.,Сервис недоступен из-за исчерпания ресурсов!
  • Поддерживает сжатие до 0 при отсутствии трафика.:Инструмент экономии денег,Больше не нужно покупать виртуальные машины и балансировать нагрузку,Эффект снижения затрат для нас огромен!
  • Бесплатная эксплуатация и обслуживание:免идти了虚拟机из Эксплуатация и обслуживаниестановиться本!
  • безопаснее:этого не может быть SSH Авторизоваться,И он не будет включен постоянно, как виртуальная машина.,Ожидание сканирования и взлома!
  • Нулевая модификация:Незачем Исправлятькод,Из前虚拟机上из JAR Пакет можно запустить непосредственно в Function Compute. FC начальство!

Недостатки бессерверных технологий:

  • Serverless Он запускается только при поступлении запроса. Это означает, что когда приложение не запущено, оно войдет в “ Состояние сна ”,В следующий раз, когда придет запрос,Приложению потребуется время запуска,Прямо сейчасхолодный старт。этот个когда,Можеткобъединить CRON путь или CloudWatch для периодического пробуждения приложения. Хоть это и холодно начать большую часть времени, вы можете 50ms В пределах. И это дафор Node.js Для приложений, для тех, у кого есть виртуальные машины Java и C# Может быть, не так повезло.
  • В настоящее время основные облачные платформы имеют ограниченную поддержку.
  • В сценарии облачных функций (Faas) крупный бизнес необходимо разделить на множество мелких функций. Как управлять и поддерживать связь между ними? Как связать управление.
  • Как устранить проблемы с отладкой? Предположим, в компании есть 100 функций, разбросанных по разным местам. Как их устранить?
  • Бессерверные технологии все еще незрелы,Архитектурная модель еще не создана.икрепкийизразвиватьинструмент。
  • Полная зависимость от сторонних сервисов.

4. Взгляд в будущее

От взросления на облаках до рождения на облаках☁️☁️☁️

Что значит родной? Я считаю, что из приведенного выше содержания у вас есть простое понимание.,Здесь мы приведем еще один практический пример: туземца мы обычно слышим, когда говорим о родной семье.,Например, если ребенка не усыновили.,да был в семье с рождения,То же самое относится к ИТ-приложениям и облаку.

Традицияиз Используйте облачную платформуизнаправление式都даодинпрограммное обеспечениеприложениефинальныйразвивать Заканчивать,строить Пакетстановитьсяодинвесьизразвертывать Сумкакназад再托管到云平台идти运行。Мы надеемся, что при использовании облачных технологий приложения с самого начала будут рождаться в облаке.,От идеи создания приложения до требований, проектирования, разработки, тестирования, сборки, упаковки, развертывания и окончательной доставки на облачную платформу — все жизненные циклы программного обеспечения и процессы разработки программного обеспечения выполняются в облаке.,Это облачная среда.

Облачное ядроизизменять Сразудаот Традиция云СлужитьIaaS(инфраструктура Прямо сейчас Служить)переход кPaas(平台способность及Служить),также СразудаобъяснятьВесь процесс абстракции продолжает двигаться вверх,От уровня ресурсов к сервису,Дайте каштан:Традиционно мы используем облачную платформу,Традиционный метод — подать заявку на виртуальную машину в Alibaba Cloud или Huawei Cloud.,Установите базу данных самостоятельно,В рамках облачного сервиса я надеюсь напрямую использовать сервисы баз данных, предоставляемые Alibaba Cloud.,То есть на уровне виртуальной машины,Не идите на контакт.

Cloud Native — это интеграция ряда технических практик и практик управления, которые возникли с развитием облачных сервисов облачной платформы. Технические практики включают микросервисы, Контейнерное облако、сервисная сетка, декларативный API, неизменяемая инфраструктура, практики управления, включая гибкую разработку, DevOps, непрерывная доставка, Закон Конвея, сложно понять основную логику облачной среды просто с учетом двух уровней технической практики и практики управления.

5. Резюме

Карл Маркс хорошо сказал,Производительность определяет производственные отношения,Концепция облачных вычислений появляется бесконечно,По сути, это также предполагает распределение и оптимизацию производственных отношений и производительности.,Уход продюсеров означает, что стремление к передовым технологиям будет похоже на «комаров, убивающих из пушек».,Устроить скандал из мухи слона,Поощряйте всех играть, чтобы удовлетворить всеобщее любопытство.,Ведь столько научных открытий и крупных изобретений – результат упорного труда.,Не хочу более быструю лошадь,И Форд, который изобрел автомобиль,Нобель, который возился с динамитом,Мендель, который выращивал горох... При этом надо подумать и об индустриализации технологии (возможно, изменении производственных отношений),Повышение производительности.

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 и детали кода