All the traffic will go through the handler chain. A chain is composite of handlers, each handler has a particular logic. Mesher also has lots of feature working in chain, like route management, circuit breaking and rate-limiting. In Summary, handler is the middle ware between clients and servers, it is useful when adding authorization to intercept illegal requests.
https://docs.go-chassis.com/dev-guides/how-to-implement-handler.html
In chassis.yaml add your handler name in chain configuration. As sidecar and API gateway, mesher's chain has different meanings.
For example, running as mesher-sidecar, service A call another service B, outgoing chain of service A processes all the service A requests before remote call, incoming chain of service B processes all the requests from service A, before access to service B API.
In summary, outgoing chain works when a service attempt to call other services, incoming chain works when other services call this service.
handler: chain: Consumer: # if a service call other service, it go through this chain, loadbalance and transport is must outgoing: router, bizkeeper-consumer, loadbalance, transport Provider: incoming: ratelimiter-provider
Running as API gateway, incoming chain processes all the requests from the external network, outgoing chain processes all the the requests between API gateway and back-end services.
handler: chain: Consumer: #loadbalance and transport is must outgoing: router, bizkeeper-consumer, loadbalance, transport Provider: incoming: ratelimiter-provider