Руководство сообщества 21CTO:
Эта статья — работа Шэнь Цзяньчжи, архитектора 58.com. Текст лаконичный, и я надеюсь, что он будет полезен для всех.
Картинка выше типичнаяМногоуровневая архитектура Интернета :
-
Клиентский уровень : Типичный вызывающий абонент — браузер или приложение.
-
прикладной уровень сайта : Реализовать основную бизнес-логику, получать данные от нисходящего потока и возвращать html или json восходящему потоку.
-
слой кэша данных : Ускоряет доступ к хранилищу
-
слой базы данных данных : Надежное хранилище данных
Если сервисизация реализована, эта схема многоуровневой архитектуры может выглядеть так:
еще один посерединесервисный уровень.
внутри того же уровня , такие как приложение на терминале и веб-сервер, также имеютМногослойность MVC:
-
слой просмотра : показывать
-
слой управления логика
-
слой модели :данные
Видно, что в костях у каждого инженера,Все тонко реализуют многоуровневую архитектуру.
Итак, в чем суть многоуровневой архитектуры Интернета?
Если мы хорошенько об этом подумаем, то обнаружим, что так ли этоМногоуровневая архитектура процессов,ещеВнутрипроцессное наслоение MVC, оба одно«Движение данных»,Потом"обрабатывается"а также"представил"Процесс, в конечном счете, одно предложение:Многоуровневая архитектура Интернета представляет собойПроцесс перемещения, обработки и представления данных ,вПеремещение данных лежит в основе процесса.
Как показано на фиг.1:
Обработка и представление данных требуют вычислений ЦП,ЦП исправлен:
-
db/service/web-server развернуты в фиксированном кластере
-
На терминале, будь то браузер или приложение, также есть фиксированная обработка процессора.
данные мобильны :
-
Межпроцессное перемещение: данные передаются из базы данных и кэша на сервисный уровень, на уровень веб-сервера, на клиентский уровень.
-
Перемещение в одном и том же процессе: данные передаются со слоя модели на уровень управления и на уровень представления.
Данные будут перемещаться, поэтому важны две вещи:
-
данныеформат передачи
-
данные вФормы на всех уровнях
Первый взглядФормат передачи данных,СейчаспротоколОчень важный:
-
Между сервисом и db/cache,двоичный протокол/текстовый протоколявляется носителем передачи данных
-
Между веб-сервером и сервисом,Двоичный протокол RPCявляется носителем передачи данных
-
Между клиентом и веб-сервером,http-протоколявляется носителем передачи данных
посмотри сноваФорма данных на разных уровнях,кПользовательПример данных:
-
db, данные«Линия» как единицасуществующая строка (uid, Назовите возраст)
-
слой кэша, данныеформа квСуществующий kv(uid -> Пользователь)
-
Сервисный уровень преобразует строку или kv в удобные для программы значения.Пользовательский объект
-
Уровень веб-сервера преобразует удобный для программы объект User в удобный для httpjson-объект
-
Клиентский уровень: объект json получен на терминале
Вывод: Суть многоуровневой архитектуры Интернета заключается в перемещении данных.
Зачем это говорить, это приведет к основным принципам и методам «эволюции многоуровневой архитектуры»:
-
Позвольте восходящему потоку получать и обрабатывать данные более эффективно ,мультиплекс
-
Пусть нисходящий блокирует детали сбора данных ,упаковка
Знание этого принципа и метода, а также накопление определенного опыта могут ответить на вопросы, которые пользователи сети часто задают в комментариях:
-
Нужно ли внедрять слой DAO и когда?
-
Нужно ли его обслуживать и когда нужно обслуживать?
-
Нужно ли извлекать общий мидл-офисный бизнес и когда его извлекать
-
Нужно ли разделять передний и задний концы и когда разделять
(На эти вопросы пользователей сети на самом деле трудно ответить. Безответственно делать выводы ДА или НЕТ, не понимая стадии развития бизнеса, масштаба бизнеса, объема данных и параллелизма.)
Более конкретные детали эволюции многоуровневой архитектуры будут рассмотрены в следующей статье.
Суммировать
-
Суть многоуровневой архитектуры Интернета ,Дадвижение данных
-
В многоуровневой архитектуре Интернета очень важны формат передачи (протокол) данных и форма данных на различных уровнях.
-
Основные принципы и методы эволюции многоуровневой архитектуры Интернета:Инкапсуляция и повторное использование
считать
какая системная архитектура,нет«Исправить ЦП, переместить данные»,ноКак насчет «фиксированных данных, мобильного процессора»?
Далее будут статьи г-на Шен Цзяня. Вы также можете внести свой вклад в сообщество 21CTO и обсудить технологии архитектуры высокой доступности с Shen Jian и другими крупными коровами.
Автор: Shen Jian (общественный номер: Architect Road)