New to Consul and trying to understand

I’m new to Consul. I’ve read much of the docs online. The use case I’m trying to solve is:

  1. Lightweight field-deployed compute nodes (single machine per field site)
  2. Sites have low-bandwith TCP/IP
  3. Centralized service registry
  4. Information received on one site, and sent to another site for processing


  service registry
   /    |    \
site1 site2 site3


  1. site1 receives data
  2. site1 queries registry for “who can process” (e.g. “who can: /api/handle-payload/purple”)
  3. site1 gets answer: “site3”
  4. site1 sends to site3 (https://site3/api/handle-payload/purple)
  5. site1 receives response from site3

As I read the docs I see service registry and mesh together - never separate. So if I’m understanding the docs I need 4 “datacenters” all meshed. Am I understanding correctly? Thank you.