3 ms·
250k lines of Go in ~3 years, around 1k per weekday is impressive. Adding 1k lines of code per day to a monorepo while keeping the project manageable is no eas
by hu3 8y ago
250k lines of Go in ~3 years, around 1k per weekday is impressive.
Adding 1k lines of code per day to a monorepo while keeping the project manageable is no easy feat.
Is it split into microservices? Any tips to tame the beast?
- i0exception 8y agoWe try to avoid microservices wherever possible. If we're adding something new, it typically starts off as part of the service being deployed - either as a container within the pod (we use kubernetes) or as a library that the code can use. If something grows big enough in a way that it can't scale with the service it's running with, we split it into a separate service. The opposite is also true - if a service that we run no longer warrants a separate deployment, we make it a container or a library. We use GRPC for most communication and interfaces for anything that travels package boundaries. Both of these help with making the split/aggregation a lot easier to manage.