#plantuml #deployment-diagram
Вопрос:
Еще одна попытка на полусложной схеме развертывания (содержимое-это развертывание:иш).
Предыстория: я добавляю компоненты один за другим, это работает (см. На сервере plantuml здесь)
пока я не доберусь до «aabb9» (то есть a9)…
Проблема: Когда я добавляю aabb9 в качестве цели для стрелки «вверх» из aabb5, я ожидаю, что aabb9 будет размещен над aabb5, где есть место. Подобный этому:
Вместо этого компоновка схемы почти полностью переделана двигателем, и, по-видимому, ранее определенные отношения больше не «соблюдаются». Таким образом, (плохой) результат становится:
Обратите внимание, как первые узлы теперь расположены справа, и мои отношения, указанные как идущие справа от этих двух (aabb1 и aabb2), больше не «соблюдаются» /не отображаются, как было введено. Вот тот же рисунок с незафиксированной линией и «плохим»/нежелательным результатом.
Итак, ниже приведен код, который работает, но если вы раскомментируете последнюю строку, она сойдет с ума и «ретранслирует» все это.
Есть какие-нибудь зацепки к этому? Было бы здорово иметь возможность создавать эти простые диаграммы с текстом…
Спасибо! /мави
@startuml
skinparam ranksep 5
skinparam nodesep 5
rectangle "aabb1" {
node aabb1 as a1
node aabb2 as a2
}
a1 --[hidden]> a2
control "aabb3" as a3
database "aabb4" as a4
queue "aabb5" as a5
control "aabb6" as a6
control "aabb7" as a7
database "aabb8" as a8
control "aabb9" as a9
a1 -right-> a3: Range
a2 -right-> a3: 3D Models
a3 -down-> a4: Range amp; Models
a3 -> a5: product.nupsert
a5 -down-> a6: product.nupsert
a6 -> a5: product.nprocessed
a5 -> a7: product.processed
a7 -> a8: Data
a7 -> a5: product.nstored
'a5 -up-> a9: product.stored
@enduml
Ответ №1:
Итак, я решил, что немного поэкспериментировал, прежде чем сдаться, и нашел то, что подходит для этого случая, и гипотезу, но без основной причины…
Что работает?
Итак, если я добавлю связь/поток из нового «свободного» узла (т. Е. «aabb9»), а не к нему, это сработает. Так что, если я сделаю это , например a9 -down-> a5: product.stored
, это сработает так, как ожидалось.
И как только это будет сделано, я смогу добавить поток из остальной части диаграммы в новый узел, то есть раскомментировать последнюю строку.
Итак, ключ в том, что сначала мне нужно выполнить стрелку вниз: связать новый узел с остальной частью диаграммы перед линией со стрелкой вверх, которая была прокомментирована.
Тогда движок правильно расположит aabb9.
Чтобы достичь точного результата, к которому я стремился, я могу просто повернуть стрелку этого потока вспять, так что я получаю a9 <-down- a5: product.stored
.
Но это почти похоже на ошибку. 🙂
Комментарии и мысли приветствуются, надеюсь, это поможет какому-нибудь бедному исследователю plantuml. 🙂