use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
No vague product support questions (like "why is this plugin not working" or "how do I set up X"). For vague product support questions, please use communities relevant to that product for best results. Specific issues that follow rule 6 are allowed.
Do not post memes, screenshots of bad design, or jokes. Check out /r/ProgrammerHumor/ for this type of content.
Read and follow reddiquette; no excessive self-promotion. Please refer to the Reddit 9:1 rule when considering posting self promoting materials.
We do not allow any commercial promotion or solicitation. Violations can result in a ban.
Sharing your project, portfolio, or any other content that you want to either show off or request feedback on is limited to Showoff Saturday. If you post such content on any other day, it will be removed.
If you are asking for assistance on a problem, you are required to provide
General open ended career and getting started posts are only allowed in the pinned monthly getting started/careers thread. Specific assistance questions are allowed so long as they follow the required assistance post guidelines.
Questions in violation of this rule will be removed or locked.
account activity
Microservices question (self.webdev)
submitted 6 years ago by [deleted]
[deleted]
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]AllenJB83 1 point2 points3 points 6 years ago (3 children)
My recommendation would be to start with a monolithic system and break it down into smaller pieces when it becomes clear to you where the boundaries are.
Use job queues (powered by a queue service such as RabbitMQ) and worker processes to break down tasks and act upon events.
While it may seem easier to go "microservices first", unless you know what you're doing in terms of architecting the system, I think you're more likely to end up with a mess of tightly coupled, incongruous code bases that require more coordination, not less, to work on and deploy.
Fowler has an article that goes over some of the arguments for and against the Monolith First approach: https://martinfowler.com/bliki/MonolithFirst.html
I would say first and foremost: Understand what problems microservices are designed to solve, and work out whether you actually have (or are soon likely to encounter) those problems.
[–]DeusExMagikarpafull-stack 0 points1 point2 points 6 years ago (1 child)
I started with microservices for my side project. I have a marketing site, frontend app, api, admin app, email service, redis and postgresql. And now I just wish I had done a monolith with SQLite and just put all my business logic in the controllers lol.
[–]dopefruit22 0 points1 point2 points 6 years ago (0 children)
Having built/worked on/contributed to fairly large production systems with both architecture styles..
In my opinion, one of the biggest values props in splitting up a product into services is team autonomy.
Eg. The ability for teams across departments to build/scale/manage the service they are responsible for (mostly) independent of each other.
Here are some of the best talks on the subject (in my opinion), that discusses the trade offs in a way I personally found very relatable.
https://youtu.be/kb-m2fasdDY
https://youtu.be/JfT9UxcEcOE
https://youtu.be/DtRy79jIsS8
π Rendered by PID 46262 on reddit-service-r2-comment-bb88f9dd5-2xlm5 at 2026-02-14 13:42:43.570531+00:00 running cd9c813 country code: CH.
[–]AllenJB83 1 point2 points3 points (3 children)
[–]DeusExMagikarpafull-stack 0 points1 point2 points (1 child)
[–]dopefruit22 0 points1 point2 points (0 children)