Краткий ответ:
Зависит от того, кого вы спрашиваете.Проще говоря, вы можете сказать, что да, ваша серверная сторона - это ваша микросервисная служба, или несколько из них работают для предоставления некоторой услуги одному или нескольким клиентам, таким как ваше мобильное приложение, какое-либо веб-приложение / браузер и другие типы клиентских приложений.Имейте в виду, что микросервисы - это паттерн архитектуры программного обеспечения для бэкэнда, который в большинстве случаев работает на некоторых серверах.Некоторые люди будут иметь другое мнение по этому поводу относительно термина «модель клиент-сервер».Я попытаюсь объяснить ниже.
Более длинный ответ:
Исторический / классический обзор модели клиент-сервер : BeБудьте осторожны с терминологией в вашей Документации, так как это может сбить людей с толку.Есть много людей, которые, говоря «архитектура или модель клиент-сервер», могут подумать о традиционных приложениях клиент-сервер.В этом традиционном / классическом смысле клиент - это специальное приложение (настольное приложение, такое как Outlook, Skype для рабочего стола или подобное), которое работает на клиентском компьютере и обменивается данными по сети с удаленным сервером.В этом смысле клиент и сервер могут работать на разных компьютерах, но также могут работать на одном компьютере.Исходя из этого мышления, веб-приложение не является клиент-серверным приложением, поскольку в нем нет выделенного приложения, представляющего клиента.Он использует браузер для представления клиента, который не является выделенным приложением.Поэтому, если ваше мобильное приложение является нативным или гибридным приложением (выделенным приложением), оно будет больше ориентироваться на историческую «архитектуру или модель клиент-сервер».Если это мобильное веб-приложение (работает в браузере), оно не будет.Когда речь идет о серверной части, разница между классическим «клиент-сервером» и микросервисами может рассматриваться аналогично различиям между «клиент-сервером» и SOA (сервис-ориентированная архитектура).В этой классической «архитектуре или модели клиент-сервер» клиент и сервер более взаимосвязаны и разработаны для совместного использования.Когда речь идет об архитектуре микросервисов и предоставляемых ими сервисах, они обычно предназначены для слабой связи и обслуживания нескольких разных клиентов (мобильных приложений, веб-приложений и т. Д.).В этом вопросе вы можете узнать больше о различиях между SOA и «клиент-сервер»: SOA против клиент-сервер против веб-службы - в чем разница?
Модель «клиент-сервер» в виде свободной концепции / термина: С другой стороны, есть также много людей, которые используют термин «архитектура или модель клиент-сервер», думая о любом виде клиентского приложения, представляющего«Клиентская часть», а не только выделенное настольное приложение.Когда дело доходит до серверной стороны, любой тип сервера (веб-сервер, файловый сервер или другой, независимо от того, какую внутреннюю архитектуру они используют) представляет сервер.Так, например, мобильное приложение (нативное, гибридное или на основе браузера) или веб-приложение (одностраничное приложение и др.), Взаимодействующее с каким-либо сервером, будет рассматриваться как «архитектура или модель клиент-сервер».Таким образом, «клиент-серверная архитектура или модель» используется в качестве общего термина.Если вы прочитаете страницу Википедии (https://en.wikipedia.org/wiki/Client%E2%80%93server_model)) для модели клиент-сервер, вы также можете получить такое впечатление. Ваше клиентское приложение связывается с вашим сервером через сеть для обмена некоторым содержимым. Большую часть времени по HTTP или другимпротоколы. Если на стороне сервера несколько служб (микросервисов), развернутых на одном или нескольких компьютерах для обслуживания контента, не столь важны для вашего клиента. Поэтому с этой точки зрения термин «модель клиент-сервер» у вас есть.
Ваш случай: для вашего случая это зависит от того, как именно ваша серверная часть используется или работает. Я не уверен, как вы делаете это в своем приложении, но из моего опыта есть несколько способов связаться с вашимна стороне сервера. 2 наиболее распространенных способа установить связь между клиентом и micorservice:
- Клиент связывается через Api-Gateway
- Клиент связывается напрямую с микросервисом
Вот статья, которая объясняет 2 подхода: https://docs.microsoft.com/en-us/dotnet/standard/microservices-architecture/architect-microservice-container-applications/direct-client-to-microservice-communication-versus-the-api-gateway-pattern
ВВообще термин «клиент-сервер» может быть истолкован неправильно.Я предлагаю немного описать вашу архитектуру в вашей документации, чтобы избежать путаницы.Например, вы можете сказать, что у вас есть система, которая на стороне сервера работает поверх микросервисной архитектуры, а ваш клиент является мобильным приложением, которое использует сервисы от одного или нескольких микросервисов (напрямую или через некоторый прокси, шлюз API илиДругой).Это действительно зависит от вашей конкретной архитектуры.
Надеюсь, это поможет.