2 ms·
+ -js -java -monolith.jar {guava, netty, etc } -svc1 -svc2 -python -go For biz code, I've seen this kind of lib-ifying architecture pro
by grizzles 8y ago
+
-js
-java
-monolith.jar {guava, netty, etc }
-svc1
-svc2
-python
-go
For biz code, I've seen this kind of lib-ifying architecture provide a nice microservices workflow. The unifying heuristic is: Any dependency goes into the lib project. Anything unique to the service that requires no dep should usually go into the service project. The nice thing about this is it modular with fast compiles and preserves optionality. Since everyone is using the same deps, the code can live in the svc project or the lib project. A bit of namespacing convention makes it's trivial to shuttle the code between the two projects to wherever it's most natural to have it.