Различные модели распределенной архитектуры - PullRequest
1 голос
/ 24 июня 2011

Я просто хочу знать разные модели для реализации / проектирования распределенной архитектуры.

Я знаю некоторые технологии в этой области, такие как

  1. RPC

  2. Java RMI & Socket

  3. .Net Remoting & Socket

  4. XML-RPC

  5. веб-сервис на основе SOAP

  6. веб-приложение на основе HTTP

  7. веб-сервис REST ful

Но я знаю гораздо больше технологий, но какие существуют модели для реализации распределенной архитектуры?

Ответы [ 3 ]

1 голос
/ 03 августа 2015

Мы можем классифицировать архитектуры на 6 различных типов из одного из видео Нил Форд; Марк Ричардс

  1. Традиционная многоуровневая архитектура , подобная контроллеру модели ( Spring MVC и т. Д.)

  2. Управляемая событиями архитектура с использованием Messaging API , где событие было отправлено в очередь / Темы и подписчики / получатели используют события так, что различные компоненты слабо связаны

  3. Сервис-ориентированная архитектура, очень долго объяснять, но вы можете найти много информации в Google

  4. Архитектура трубопровода (или фильтра) - Сообщение будет передаваться от производителя к потребителю через преобразователь, и преобразователь изменяет сообщение в зависимости от потребностей бизнеса

  5. Архитектура микроядра (plug and play) - будет иметь одну базовую систему, общую для нескольких компонентов и определенных компонентов (подключаемый модуль), которые могут подключаться по необходимости

  6. Архитектура на основе пространства - Архитектура является масштабируемой, добавляя к ней больше ресурсов (лучше всего, если вы используете нереляционную базу данных, такую ​​как база данных NoSQL)

1 голос
/ 24 июня 2011

На уровне архитектуры существует 4 способа интеграции систем:

  • Общая база данных
  • Очередь сообщений
  • Запрос ответа на вызов
  • СообщениеПередача

В каждой из них доступно множество технологий

0 голосов
/ 23 августа 2011

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

  • Одна машина / несколько / несколько и гео-избыточный?
  • Общая / личная память / микс?
  • Синхронный / асинхронный обмен данными / оба?
  • Отказоустойчивость? Восстановление?
  • Масштабируемость? Транзакции?
  • Большие данные / вычислительные ресурсы?

Пожалуйста, добавьте дополнительные вопросы, я уверен, что забыл что-то важное.

...