Architecture

A deep dive into how Frontier routes traffic, manages state, and scales.

Frontier Architecture

Connection Model

Unlike traditional gateways where clients connect to the gateway and the gateway connects to upstream services, in Frontier, both microservices and edge nodes actively connect to Frontier.

  • Port 30011: For microservices to connect.
  • Port 30012: For edge nodes to connect.
  • Port 30010: Control plane APIs for operators.

Routing Model

All Messages, RPCs, and Streams are point-to-point transmissions:

  • Service to Edge: Must specify the Edge ID.
  • Edge to Service: Frontier routes based on Topic and Method, selecting a service via hashing (default by edgeid, or random/srcip).
  • Multiplexer Streams: Bypass routing completely for direct byte-level proxying.

Consistency & Reliability

Explicit Acknowledgment

To ensure message delivery semantics, Frontier requires the receiving end to explicitly call msg.Done() or msg.Error(err). This guarantees consistency across distributed edge environments.