Для системы, состоящей из нескольких служб, вызывающих друг друга (например, Front End -> Backend -> Storage), я часто слышал, как люди используют терминологию, такую как «нисходящие» или «восходящие» службы. Мне не ясно, в каком направлении они означают. Данные передаются в обоих направлениях. Запросы перетекают от большего количества обращений к пользователю к большему количеству бэкэнд-сервиса, но ответы идут в противоположном направлении, поэтому мне кажется, что в любом случае можно поспорить
architecture
terminology
user69715
источник
источник
Ответы:
Нисходящие сервисы - это те, которые используют восходящий сервис. В частности, они зависят от вышестоящего сервиса. Таким образом, передний конец находится ниже по потоку по отношению к заднему концу, потому что это зависит от внутреннего конца. Серверная часть может существовать без внешнего интерфейса, но внешний интерфейс не имеет смысла без серверной части.
Зависимость не должна быть такой сильной, как я это делал в предыдущем абзаце. В более общем плане вышестоящие сервисы не должны знать или заботиться о существовании вышестоящих сервисов. Нижестоящие сервисы заботятся о существовании вышестоящих сервисов, даже если они только потребляют их.
источник
К сожалению, существуют разные мнения о значении вверх / вниз по течению. Говоря об архитектуре системы, я определяю ее следующим образом:
С учетом проблемной системы системы, которые инициируют обмен сообщениями / данными с рассматриваемой системой, являются вышестоящими системами, а системы, от которых зависит рассматриваемая система (т. Е. Те, от которых моя система инициирует обмен данными), являются нижестоящими системами.
Эта ссылка от ibm, описывающая взаимодействие с одним из их продуктов, подтверждает это представление: интеграция с вышестоящими и нисходящими системами https://www.ibm.com/support/knowledgecenter/en/SSWSR9_11.3.0/com.ibm.pim.dev.doc /integration/pim_con_dev_creatingjobsforintegrationcontainer.html
Учитывая терминологию «вверх по течению» и «вниз по течению», это может помочь провести аналогию с рекой. Если вы отправляете сообщение (данные) в реку, оно течет из восходящего потока (инициатор) в нижний поток (получатель).
Кстати, я обнаружил, что архитекторы и разработчики промежуточного программного обеспечения используют это определение, а веб-разработчики - наоборот (возможно, из-за «загрузки»).
С временными шкалами событий, событие находится в восходящем направлении, когда оно происходит перед точкой на временной шкале (т.е. запускает другое событие), и в нисходящем направлении, когда оно происходит впоследствии (т.е. получает событие). Поэтому то, что находится вверх и вниз по течению в последовательности событий, зависит от того, где вы находитесь на временной шкале. Событие может быть как нисходящим, так и восходящим, в зависимости от того, находится ли ваша отправная точка до или после нее.
Как отмечает @Jack, RFC7230 tools.ietf.org/html/rfc7230#section-2.3 имеет следующее:
Мне было бы интересно посмотреть на голоса, которые являются наиболее распространенным использованием!
источник
Лучший способ думать об этом - думать о реке.
Нижняя часть реки не может получить воды, если она не поступает из верхнего течения, т.е. вниз по течению вода зависит от верхнего течения.
Если кто-то уничтожит нижнюю часть реки, это не окажет никакого влияния на верхнюю часть реки. Если кто-то уничтожит часть реки вверх по течению, это повлияет на вниз по течению, то есть не получит воды.
Поэтому нисходящие сервисы зависят от восходящих сервисов. Если вышестоящие сервисы удалены, последующие сервисы не будут работать должным образом.
источник
Это может быть скорее языковой и географической проблемой, чем технической.
Запрос информации идет вверх по течению. Это происходит из системы вниз по течению.
Ответ на запрос информации (запрошенная информация) отправляется в нисходящем направлении и отправляется восходящей системой.
Нет никакой разницы между классическим представлением IBM и сегодняшним веб-сообществом.
Поставщик услуг (сервер) будет расположен в восходящем направлении по сравнению с потребителем услуг и отправляет информацию в нисходящем направлении потребителю.
Потребитель услуг (клиент) будет расположен ниже по сравнению с поставщиком услуг и отправляет запросы поставщику.
Теоретически роли физических систем могут мгновенно измениться, как и направление потока между этими системами. В одноранговой сети это может иметь место.
Условия загрузки и скачивания являются клиент-ориентированными условиями. С точки зрения клиента, запрос загружается, а ответ загружается, что согласуется с метафорой потока.
источник