This is an automated archive.

The original was posted on /r/golang by /u/GrayLiterature on 2023-09-03 18:39:49+00:00.


I’m getting more into Go as a hobby language, and in part because I’d like to transition into backend development at some point. I am a Junior Developer, so my experience is pretty limited in scope and I currently work on a monolithic architecture (not in Go). I have worked in places before that leveraged services, for example, a Payments Service, but I never got to work on these services.

So what I am trying to do is think of an extremly narrowly scoped project to build a microservice system in Go, but i’m not really sure how I could properly scope it because I only have examples of larger, production level services.

An initial project idea that I had was to do the following:

  • Create an HTTP POST endpoint in a Github Repo (Call it A) that accepts a string.
  • When that endpoint gets hit, the server will do something to that string, like append to it, encode it, whatever, something stupid simple to represent business logic.
  • Save it to a file (to represent a database for the microservice)
  • Then send it to some other service (Call it B) using gRPC that maybe appends another word to it and then sends a text message.

I’m really trying to make this as close to extremely useless and boring as possible, just to build up an intuition of microservices. Do you think my project idea would be a good representation of the essence behind microservices, if so, what would you do to extend the idea just a little further? I’d also appreciate any ideas that are in this spirit: simple, fairly pointless, but captures some of the critical ideas behind a microservice.

Feedback is welcome, i’m just brain storming at the moment.