что такое РПЦ
RPC (удаленный вызов процедур) — это удаленный вызов процедур, который в основном решает проблему удаленной связи и не требует понимания механизма связи базовой сети.
Что такое сервисные платформы RPC
Наиболее известные из них — Thrift (FB), dubbo (Ali).
RPC обычно должен пройти 4 шага:
1. Установите связь
Прежде всего, должна быть решена проблема коммуникации: то есть, если машина А хочет вызвать машину Б, она должна сначала установить коммуникационное соединение, главным образом путем установления TCP-соединения между клиентом и сервером.
2. Сервисная адресация
Чтобы решить проблему адресации, как на сервере A подключиться к серверу B (например, хосту или IP-адресу) и конкретному порту, как называется метод.
3. Передача по сети
1) Сериализация
Когда приложение на сервере A инициирует вызов RPC, вызывающий метод и данные параметров должны быть сначала сериализованы.
2) Десериализация
Когда сервер B получает запрос от сервера A, ему необходимо десериализовать полученные параметры и другую информацию.
4. Сервисный вызов
После того, как сервер B сделает локальный вызов (через прокси-сервер), будет получено возвращаемое значение.В это время возвращаемое значение необходимо отправить обратно на сервер A. Его также необходимо сериализовать, а затем двоичные данные отправляется обратно на сервер A через передачу по сети.
Обычно для полного вызова PRC необходимо пройти 4 вышеуказанных шага.
MQ (очередь сообщений)
Очередь сообщений (MQ) — это коммуникационная модель, которая может реализовать одностороннюю связь между производителями и потребителями, вообще говоря, относится к промежуточному программному обеспечению, которое реализует эту модель.
Типичные особенности:
1. Развязка
2. Надежная доставка
3. Трансляция
4. Конечная согласованность
5. Отсечение пиков трафика
6. Гарантия доставки сообщения
7. Асинхронная связь (поддержка синхронизации)
8. Улучшить пропускную способность и надежность системы
Типичные сценарии использования: MQ используется для снижения пикового трафика и разделения приложений в бизнесе seckill.
Разница и связь между RPC и MQ
1. С точки зрения архитектуры разница между RPC и MQ заключается в том, что Message имеет промежуточный узел, Message Queue, который может хранить сообщения.
2. Синхронный вызов: RPC лучше всего подходит для сценариев, в которых требуется дождаться немедленного возврата результата обработки.
3. Использование MQ основано на соображениях производительности, например, сервер не может быстро ответить клиенту (или клиенту не требуется ответ в реальном времени), поэтому его необходимо кэшировать в очереди.
С другой стороны, он больше ориентирован на передачу данных, поэтому методы более разнообразны.Помимо двухточечного, он также имеет такие функции, как подписка и публикация.
4. С ростом бизнеса пропускная способность некоторых обрабатывающих терминалов станет узким местом, и синхронные вызовы будут преобразованы в асинхронные вызовы.В настоящее время можно рассмотреть MQ.
Эта статья опубликована в блогеOpenWriteвыпуск!