Архитектура прикладной технологии —— Монолитная архитектура & вертикальная архитектура & SOA Архитектура
Архитектура прикладной технологии —— Монолитная архитектура & вертикальная архитектура & SOA Архитектура

Автор этой статьи:Хэ Вэньцян — CODING Отдел передовых решений архитектуры Есть первая линия интернета、Интернет вещей Единорог、национальный акционерный банк、новый типУмный транспортМежотраслевой опыт,Обслуживается последовательно Java Старший инженер по развитию、DevOps Технические эксперты, старшие менеджеры по исследованиям и разработкам и т. д. обладают глубоким пониманием и богатой практикой в ​​области микросервисов, Agile, DevOps и контейнерных технологий.

Монолитная архитектура

1968 Кризис программного обеспечения 2000 года породил разработку программного обеспечения и породил объектно-ориентированные языки высокого уровня, такие как 1972 из C Язык, который в то же время породил нашу из Монолитную из Технологию Архитектура, Монолитную Архитектураиз Функции — это проект, в котором вся логика кода соединена в реальность.

вертикальная архитектура

существовать 1980s эпоха,Большие приложения и очень большие приложения начинают расти,Особенно операционная системаибаза данныхиз Появлятьсяи Широко используется,Миллионы строк кодаизсистемы более распространены。С бизнесомизразвивать、Монолитная архитектура становится все более раздутой, объем системного кода увеличивается с каждым днем, и все больше и больше разработчиков совместно работают над одной и той же системой. На базе Монолитная архитектураиз Эффективность совместной работы становится все ниже и ниже, а частота отказов систем становится все выше и выше. Разделение большого приложения на несколько независимых и небольших приложений стало решением для одного приложения. Это вертикальная система. архитектура(также стать“Тип вала Архитектура”)。вертикальная архитектура разделяет большое одно приложение на несколько модулей и подсистем на основе бизнес-атрибутов. Между подсистемами нет прямой корреляции.

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

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

Сервис-ориентированная архитектура (SOA)

С появлением и развитием Интернета, количество пользователей ПО резко возросло,Экспоненциальный рост количества пользователей приложения,Приложения с большим количеством пользователей стали обычным явлением. вертикальная архитектура существовать технически сложно для удовлетворения требований размещения большого количества пользователей. Распределенная теория и распределенные технологии становятся все более зрелыми.,Стали появляться сервис-ориентированные изархитектуры (SOA),И он широко используется в крупномасштабных и важных системах (таких как основные финансовые торговые системы и т. д.).

Сервис-ориентированная архитектура (SOA)это компонентная модель,Он разделяет приложение на различные функциональные блоки (называемые сервисами).,И эти сервисы связаны через четко определенные интерфейсы и протоколы.

ориентированный на обслуживаниеиз Архитектура В основном состоит из двух:служебный автобус предприятия(ESB)Представлять SOA и с RPC Представлять SOA。

ESB

ESB Это централизованная архитектура, основанная на сообщениях. ЭСБ Централизованная архитектура обеспечивает слабую связь и полагается на ESB Технология шины сообщений реализует гетерогенные системыизобмен информациейи Интегрированный централизованный Архитектурауправлять,Таким образом, хотя он ориентирован на обслуживание,Но по сути это по-прежнему централизованная архитектура.

Особенности ESB
  1. Обмен сообщениями: поддерживается через MQ Синхронизация сообщенийили Асинхронная связь;
  2. Веб-сервис: Поддержка SOAP, REST-метода взаимодействия данных приложения;
  3. Преобразование данных: поддерживает преобразование XML, JSON, YAML и других форматов данных;
  4. Интеллект маршрутизации: интеллектуальная маршрутизация ожидаемых данных.
Преимущества ЕСБ
  1. Различные бизнес-модули полностью разделены;
  2. Стандартизирует и унифицирует методы вызова между системами;
  3. Легко интегрируйте гетерогенные системы и предоставляйте внешние услуги.
Недостаточный ESB
  1. житьсуществоватьодна точка;
  2. Бизнес, трехсторонняя зависимость и взаимодействие НФР — это серьезно;
  3. Сложность в развертывании;
  4. Высокие затраты на обслуживание;
  5. Плохая масштабируемость;
  6. Управление услугами слабое.
RPC

RPC Протокол — это протокол, который запрашивает услуги у удаленной компьютерной программы по сети, не зная базовой сетевой технологии. ПКП Протокол предполагает, что существуют определенные транспортные протоколы, такие как TCP или UDP передает информационные данные между программами связи. существовать OSI В модели сетевой связи RPC Охват транспортного уровня и прикладного уровня. ПКП Упрощает разработку приложений, в том числе многопрограммных, распределенных по сети, существующих в пределах из. Типично для этого периода RPC Соглашение, такое как RMI、WebService и т. д.(gRPC и Thrift Все относятся к современному значению из RPC)。

Преимущества РПК
  1. Простое взаимодействие,Протокол взаимодействия клиент/сервер легко унифицировать;
  2. Межъязыковая гетерогенная поддержка;
  3. Нетжитьсуществовать ESB Возможна единая точка отказа.
Недостаточное количество RPC
  1. Метод взаимодействия относительно прост.,Невозможно осуществить сложное протокольное взаимодействие между несколькими модулями;
  2. Сложность обработки исключений;
  3. Отсутствие возможностей управления услугами;
  4. При использовании частного протокола масштабируемость плохая.

История создания «Системы знаний для специалистов в области цифровых ИТ»

Оцифровкаи Устойчивое развитие – две основные темы будущего развития китайских предприятий.,Овладейте знаниями Оцифровки,Иметь возможность Оцифровки,приложение Оцифровка Технологии – это мы IT Будущая основная конкурентоспособность практиков существует. «Цифровизация IT Система знаний практикующего специалиста» Первоначальная цель состоит в том, чтобы IT Практикующие специалисты предоставляют систематическую систему знаний из Оцифровки, охватывающую три уровня практики управления, инженерной практики и технической практики, включая методы разработки программного обеспечения. прикладной технологии、Развертывание приложений и управление ими、Четыре аспекта поставки программного обеспечения и совместной работы.

существовать Следующийиз«Цифровизация IT Серия статей «Система знаний практикующего», Хэ Вэньцян научится методам разработки программного обеспечения, Архитектура прикладной технологии、Развертывание приложений и управление ими、Четыре аспекта поставки программного обеспечения и совместной работы,Позвольте мне поделиться с вами одним за другим:

1. Методы разработки программного обеспечения в основном включают каскадный, гибкий, бережливый и т. д.;

2. Архитектура прикладной технологии в основном включают в себя микросервисы Архитектура、Сервисная сетка Архитектура、Бессерверная Архитектура、Распределенная многооперационная Архитектура и т.п.;

3. Развертывание приложений и управление ими в основном включают, помимо прочего, технологии виртуализации, контейнерные технологии, оркестровку контейнеров и т. д.;

4. Доставка программного обеспечения и совместная работа в основном включают, помимо прочего, CMMI, ITIL, DevOps и т. д.

Поверьте, что эта совокупность знаний полезна для IT Практики создают богатую техническую систему、всестороннийиз Техническое видениеисистемаиз Наращивание потенциала。Добро пожаловать в«Цифровизация IT Тема «Система знаний практикующего специалиста»Читать далее。

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