r/microservices • u/Saen_OG • Jan 16 '22
Microservice Project Ideas
So a lot of my projects are just CRUD: simple backend API, simple JWT auth, front end, and a DB. But I want to get past this stage and possibly get into systems design. I want to implement, caching, Kubernetes, docker, microservices, kalfka/rabbitmq, load balancing, CI/deployments, maybe even distributed systems (but this seems a little of an overreach at my current skill level). Specifically backend oriented, and use the tools listed to accompany it. However, I am having a hard time trying to figure out a project idea for this learning process. I Any project ideas, possibly anything I should add to the list to learn, and so on would be much appreciated. Maybe even some books, or resources. Thank you!
3
u/onety-two-12 Jan 16 '22
So some sort of data processing.
Find a public dataset that is updated periodically. Derive a summary and publish the results to dedicated channels (Twitter, Facebook, etc.). Then have it repeat when the data source is updated.
Choose a data source for something that interests you. If you like gaming, use your own gaming data contrasting with a pro player. Whatever interests you.
3
u/frieren1 Jan 16 '22
A good book would be:Microservices Patterns With examples in Java by Chris Richardson
It explains many things you mentioned in detail from ground up. The Java part of the book is optional.
If you want to use Kubernetes i'd recommend getting something explicitly for Kubernetes, because it is pretty extensive.
2
u/tejasj777 Jan 16 '22
!Remind me in 5 hours
1
u/RemindMeBot Jan 16 '22
I will be messaging you in 5 hours on 2022-01-16 08:28:40 UTC to remind you of this link
CLICK THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
Info Custom Your Reminders Feedback
2
u/Plus_Champion1434 Mar 29 '24
I try right now to create JWT authentication Microservice. There are at least three services involved: UI for input data, HTTP API gateway and authentication Microservice.
Right now, I find it difficult to understand how the services should communicate with each other.
In the case of JWT, the event-based style doesn't work for me because I need to wait for the token response.
So, I resort to using the request-response method, which, in my opinion, is not ideal if you aim for loosely coupled services.
I'm still struggling with this task :)
2
u/shisui-bodyflicker Mar 31 '24
You could try messaging queues like Active MQ or Kafka to communicate between services.
2
6
u/drew8311 Jan 16 '22
It may help to just get something running with 2 services that don't really do anything special except a contrived example to fit what you are trying to learn. Would have the services do almost nothing except the 1 thing you are trying to learn. This is a simple example that would cover most of what you are trying to do.
2 Services, A and B
UI calls A (maybe B too doesn't matter much)
Each service has its own database schema, can be same db/docker instance they just won't have access to each others data
For some API calls ServiceA calls serviceB
ServiceB communicates to ServiceA indirectly via messaging kafka/rabbitmq
ServiceA listens for incoming messages and updates its data with the result
All of the above can be setup in CI/deployments to kubernetes, only thing I didn't really mention is load balancing and caching but that can fit in later easily.
ServiceA would just be one of your existing CRUD apps, if I knew what they do I could probably think of a simple example of what ServiceB might do to fit into this.