3 Simple Go + GRPC Microservices - Auth, Product, Search | Incomplete

Опубликовано: 17 Апрель 2026
на канале: Kuluru Vineeth
2,436
143

Old recording. Nothing fancy - just 3 simple Go + GRPC microservices. Had more planned, never got around to it. Here it is anyway.

1. Simple Auth & Email Microservice

00:00:00 - Initial Setup
00:12:23 - User Proto and Config Helpers
00:18:54 - Add sqlx, postgres and redis config
00:43:57 - Test config and Add Zap Logger
00:58:06 - Add Auth GRPC Microservice Init, docker compose file for postgres and redis
01:25:34 - Add Jaeger
01:41:09 - Add domain init and grpc unary interceptor
01:52:32 - Add tracing, interceptor manager and logger, user domain init, jaeger pkg, user proto update and initial migration
02:42:43 - Add validator helpers, Handlers, Update user table and register user handler
03:03:23 - Test register service handler, add find methods in pg layer, usecase layer, update proto and add in server.
03:24:25 - Grpc parser, login and session usecase and repository
03:54:23 - Getme Handler, Logout user, Find by Id and redis caching
04:33:28 - Errors Update, Register Mail Check, Alive Params and Metrics
05:24:36 - Metrics test, Docker hot reload
05:39:41 - Test hot reload, Testcases for redis layer, user and session module
06:02:29 - pg repository test cases for user module
06:15:21 - Email Service initialization and rabbitmq
06:53:42 - Mailer pkg and db migration email table
07:12:00 - Create email repo and usecase, grpc proto send email
07:29:59 - Rabbitmq publisher and send email grpc test
07:50:00 - Find email by id pagination, emails by receiver address, rabbitmq constants and interfaces

Github Link: https://github.com/kuluruvineeth/simp...

2. Simple Product Microservice

08:46:17 - Init Config, Dockerfile and Docker compose file
09:02:40 - Logger, Jaeger and Updating Docker compose file
09:18:40 - Fix prometheus and product domain skeleton
09:36:01 - Grpc server init and Mongodb client init
10:13:51 - Create product service, Add grpc service methods and mongo repo update
10:39:41 - Domain methods - Get by Id and Search products, interceptor and metrics
11:06:05 - Kafka docker services, create topic and consumer groups workers init
11:57:04 - Kafka client tests, error handling, DLQ, grpc and total requests metrics
12:35:38 - Dockerfile hotreload, Workers retry logic, http handlers
13:17:38 - Curl test http create endpoint, middleware, redis repo and kafka publisher

Github Link: https://github.com/kuluruvineeth/simp...

3. Simple Search Microservice

14:02:12 - Init Logger, Config, Tracer and ElasticSearch
15:10:07 - Elastic Index Creation
15:20:13 - Product domain layer
15:41:30 - Echo routes and middleware
16:14:14 - Search endpoint, rabbitmq setup, consumer and producer
17:28:24 - PubSub Test, BulkIndexing and Test
18:01:59 - Keyboard Mistype handling search, pagination and jaeger tracing
18:43:30 - Add prometheus
19:07:02 - BulkIndex config, Async Index endpoint, Dockerfile, k8s yaml files
19:43:22 - Helm Chart and install commands, service monitor, Retry logic for rabbitmq and elastic
20:26:28 - Add prometheus monitoring chart, health check, testing and refactoring

Github Link: https://github.com/kuluruvineeth/simp...