Files
go-micro/examples/hello-world
Copilot 0b41c71681 feat(health): add RegistryCheck for registry connectivity health checks (#2957)
* Initial plan

* feat(health): add RegistryCheck for registry connectivity health checks

Add a RegistryCheck function to the health package that creates a health
check verifying connectivity to the service registry. This enables
Kubernetes readiness probes to detect when a service loses its connection
to the registry (e.g. etcd).

Usage:
  health.Register("registry", health.RegistryCheck(reg))

* fix(health): simplify error assertion in registry check test

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-10 08:25:23 +01:00
..
2026-02-04 14:12:59 +00:00

Hello World Example

The simplest go-micro service demonstrating core concepts.

What It Does

This example creates a basic RPC service that:

  • Listens on port 8080
  • Exposes a Greeter.Hello method
  • Returns a greeting message
  • Demonstrates both programmatic and HTTP access

Run It

go run main.go

The service will start and make test calls to itself, then wait for incoming requests.

Test It

Using curl

curl -X POST http://localhost:8080 \
  -H 'Content-Type: application/json' \
  -H 'Micro-Endpoint: Greeter.Hello' \
  -d '{"name": "Alice"}'

Expected response:

{"message": "Hello Alice"}

Using the micro CLI

micro call greeter Greeter.Hello '{"name": "Bob"}'

Code Walkthrough

  1. Define types - Request and Response structures
  2. Implement handler - The Greeter service with Hello method
  3. Create service - Using micro.New() with options
  4. Register handler - Link the handler to the service
  5. Run service - Start listening for requests

Key Concepts

  • RPC Pattern: Method signature func(ctx, req, rsp) error
  • Service Discovery: Automatic registration
  • Multiple Transports: Works over HTTP, gRPC, etc.
  • Type Safety: Strongly typed requests/responses

Next Steps