- read access through built-in engine functions such as
engine::functions::list,engine::workers::list,engine::triggers::list, andengine::trigger-types::list - change notifications through built-in trigger types such as
engine::functions-available
trigger() for request/response and register_trigger for event delivery.
Architecture
Why This Matters
In traditional distributed systems, services need to know where other services live. This knowledge typically comes from one of several places:- Configuration files — hardcoded URLs or hostnames that must be updated and redeployed whenever services move
- DNS-based discovery — services register with DNS and others look them up, but DNS caching creates propagation delays
- Service registries — dedicated infrastructure (Consul, etcd, ZooKeeper) that services connect to separately from their actual communication path
- Service meshes — infrastructure that operates at the network layer, intercepting traffic between services without knowledge of the application semantics
What This Enables
Traditional architectures require coordination when the system topology changes. Adding a new service means updating every service that needs to call it — changing config files, updating client libraries, or waiting for DNS to propagate. With a central registry inside the engine, topology changes are automatic:- Workers scale independently — Scale horizontally and vertically only where you need it
- New functionality is immediately available — Connect a new worker with new functions and they’re immediately available to the entire system
- Workers remove services cleanly — Disconnect a worker and its functions disappear from the registry, no stale references
For concrete SDK examples that list functions, workers, triggers, trigger types, or subscribe to function availability changes, see Discover workers, functions, and triggers.
Discover workers, functions, and triggers
Use the built-in engine discovery functions and trigger types directly.
How to use Functions & Triggers
Learn how to register functions, trigger them, and bind them to events.