This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-10-04
Channels
- # babashka (17)
- # beginners (82)
- # calva (42)
- # clj-commons (9)
- # cljdoc (2)
- # cljsrn (3)
- # clojure (142)
- # clojure-europe (12)
- # clojure-nl (1)
- # clojure-sg (1)
- # clojure-uk (14)
- # clojurescript (22)
- # community-development (3)
- # cryogen (12)
- # cursive (15)
- # data-science (13)
- # datomic (11)
- # deps-new (8)
- # emacs (3)
- # fulcro (31)
- # gratitude (7)
- # holy-lambda (8)
- # honeysql (6)
- # introduce-yourself (1)
- # jackdaw (11)
- # jobs-discuss (7)
- # kaocha (1)
- # malli (8)
- # other-languages (9)
- # pathom (14)
- # pedestal (1)
- # polylith (3)
- # portal (12)
- # re-frame (3)
- # react (3)
- # reagent (4)
- # releases (3)
- # reveal (7)
- # ring (11)
- # shadow-cljs (17)
- # specter (3)
- # sql (1)
- # timbre (2)
- # tools-deps (122)
- # xtdb (18)
does Polylith have a recipe/opinion for communication between modules? I have the vague impression that Poly is agnostic wrt this topic, which while makes sense, might also be surprising when scaling out a modular solution. In specific terms, if for the first couple years of your app components talked to each other synchronously via function calls, then introducing an async and/or IO-heavy means of communication (Kafka, w/e) could be a tough challenge, while one expected the architecture to precisely be eventually scalable without a huge refactoring effort. Probably there's an overlap between 'modular architectures' (Poly, https://github.com/puppetlabs/trapperkeeper also comes to mind) and 'functional architectures' that seek to make async, io, timeouts/failures more structured. So I was wondering if people are trying to compose various ideas into one holistic solution, what are they using, etc.
Polylith is agnostic in that side, as you mentioned. You are free choose a solution based on the requirements from your domain. We at the moment have several projects which have Lambda bases. Apart from them, we have two not-micro services that communicate via message queues.