DIStage
lib-courier-js
DIStage | lib-courier-js | |
---|---|---|
2 | 1 | |
607 | 2 | |
0.8% | - | |
9.4 | 10.0 | |
7 days ago | about 2 years ago | |
Scala | JavaScript | |
BSD 2-clause "Simplified" License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
DIStage
-
You Want Modules, Not Microservices
Right.
We delivered many talks on that subject and implemented an ultimate tool for that: https://github.com/7mind/izumi (the links to the talks are in the readme).
The library is for Scala, though all the principles may be reused in virtually any environment.
One of the notable mainstream (but dated) approaches is OSGi.
- Izumi 1.0 Release Notes
lib-courier-js
-
You Want Modules, Not Microservices
I made a framework along those lines for work which we used for many years to mediate ~1000 namespaced commands across dozens of repos. Whether it ran distributed or bundled (I called it "mega-service" mode) was completely controlled by config. We mostly used ZMQ for inter-service messaging, but I had implemented http, redis pub/sub, grpc, etc at various times to prove the concept.
> https://github.com/NathanRSmith/lib-courier-js
Interestingly, we're pursuing a monorepo & multi-monolith setup for the next version of our platform. So lib-courier is no longer necessary to stitch it all together. It was fun while it lasted though. Once you understood the routing algo & code patterns, lots of stuff "just worked".
What are some alternatives?
MacWire - Lightweight and Nonintrusive Scala Dependency Injection Library
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
Scala-Guice - Scala extensions for Google Guice
umbrella-corp-boilerplate - A boilerplate monorepo for a conglomerate type business.
Airframe - Essential Building Blocks for Scala
backstage - Backstage is an open platform for building developer portals
Scaldi - Lightweight Scala Dependency Injection Library
ripgrep - ripgrep recursively searches directories for a regex pattern while respecting your gitignore
zio-prelude - A lightweight, distinctly Scala take on functional abstractions, with tight ZIO integration
rupy - HTTP App. Server and JSON DB - Shared Parallel (Atomic) & Distributed
Domino - OSGi dynamics made easy
aperture - Rate limiting, caching, and request prioritization for modern workloads