Size: a a a

Clojure — русскоговорящее сообщество

2021 October 22

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
курсив так вообще ругается на незарезолвленный foo внутри start
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
веб-сервер
репортер ошибок
репортер метрик
пул HTTP-соединений
пул JDBC
Кассанра
сторонний API-1
сторонний API-2
клиент к одной штуке-1
клиент к одной штуке-2
клиент к одной штуке-3
кэш
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
и еще полно

сервис-сущностей-1
сервис-сущностей-2
сервис-сущностей-3

которые зависят от пула HTTP и кэша
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Т.е. тут нет фиктивных «компонтов», которые просто принимаю зависимости, но сами не имеют состояния?
Т.е. обработчик для jetty это не компонент? Так?
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
вот эти сервисы, они ведь не имею состояния, а  только зависят?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
jetty это компонент, который хранит сервер.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
большинство просто зависят
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
а ring обработчик, который передается в jetty, это компонент?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
не совсем. обработчик строится внутри start и передается серверу
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
а стоится он из сервисов, которые компоненты и тоже от чего-то зависят?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
не совсем понял
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
ну грубо (defrecord JettyComponent [service-a-component, service-b-component …]
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
сервис jetty может зависеть от компонентов, чтобы пробросить их запрос
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
(defrecord JettyComponent [jetty service-a-component, service-b-component …]
 Component
 (start [this]
   (let [handler (some-bulder service-a-component
                              service-b-component)]
     (assoc this :jetty (jetty-run handler))))
 (stop [_]
   (.stop jetty)))
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
ну да
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
а вот эти компоненты друг-от друга зависят? по данным, а не по порядку загрузки
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
я точно не скажу, смотреть надо. Например, репортер в sentry может использовать пул соединений
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
по крайней мере у нас очень много компонентов, которые зависят от кассандры, которая, в свою очередь, хранит коннект к кластерам
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
ну вот и получается, что у вас 12 штук компонентов с состоянием, и очень много функциональных/сервисных компонентов, которые не имеют состояние, а только зависят от первых
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
при помощи Component можно делать универсальные компоненты, которые используются в разных проектах
источник