{"repo":"harlow/go-micro-services","free":true,"listed":false,"github":"https://github.com/harlow/go-micro-services","clone":"git clone https://github.com/harlow/go-micro-services.git","description":"HTTP up front, Protobufs in the rear","language":"Go","stars":1092,"topics":["golang","microservice","grpc","protobuf","go","jaeger","consul"],"license":"MIT","category":"networking-infra","readme_excerpt":"Go Microservices Example Small, runnable example of Go microservices with: - HTTP frontend - gRPC service-to-service calls - OpenTelemetry tracing to Jaeger - Docker and non-Docker local workflows What This Repo Demonstrates - Service boundaries ( frontend , search , profile , geo , rate ) - End-user HTTP API ( /hotels ) - Internal gRPC composition ( search fans out to geo + rate ) - Basic operational surface ( /healthz , /readyz , traces) Architecture Prerequisites - Go (version from go.mod ) - Docker + Docker Compose (optional, for containerized stack) - protoc + codegen tools (only for regenerating protobuf stubs) - go-bindata (only for regenerating embedded JSON assets) Install codegen tooling: Golden Path (Local, No Docker) 1. Start all services: 2. Open UI: - http://localhost:5001/ 3. Hit API directly: 4. Check health/readiness: - http://localhost:5001/healthz - http://localhost:5001/readyz 5. View traces: - http://localhost:16686/search Docker Stack The frontend is available at http://localhost:5001/. HTTP API Contract GET /hotels Required query params: - inDate ( YYYY-MM-DD ) - outDate ( YYYY-MM-DD , must be after inDate , max range 30 days) Example: Success response shape: Validation or upstream error shape: Failure Demo To demonstrate readiness behavior when a dependency is down: 1. Stop search (local run: interrupt and restart without search, Docker run: docker-compose stop search ). 2. Request readiness: Expected: 503 Service Unavailable with NOT READY . Developer","default_branch":null,"files":null,"tree":[],"storefront":"/r/harlow","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/harlow/go-micro-services/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}