Skip to main content
Smart routing is a feature that allows you to connect to multiple resources through a single port, e.g. when a “Technology” listener is configured for the Connector. This is particularly useful when you want to simplify your connection management and reduce the number of ports you need to open.

PostgreSQL

For PostgreSQL, use <db_name>@<resource-name> as database name to specify the resource. Example:

MySQL

For MySQL, use <db_name>@<resource-name> as database name to specify the resource. Example:

MongoDB

For MongoDB, use formal_resource_name=<resource-name> as appName name to specify the resource. Example:

HTTP or S3

For HTTP or S3 use <resource-name>.<host>:<port> to specify the resource.
Make sure your DNS entries are properly configured to handle the subdomain routing, i.e. that *.<host> targets your Connector.
Example:
If a single S3 resource is available, <host>:<port> can be used instead of <resource-name>.<host>:<port> for simplicity.

ClickHouse

ClickHouse smart routing is available through the HTTP interface. Configure a technology listener that matches multiple ClickHouse resources. Prefix the Connector hostname with the resource name: <resource-name>.<host>:<port> Example:
Make sure DNS resolves *.<host> to the Connector. The Connector selects the resource from the HTTP Host header.

gRPC

For gRPC, prefix the Connector hostname with the resource name: <resource-name>.<host>:<port> Example:
If your gRPC client dials one address and sends a separate authority or server name, set that value to RESOURCE_NAME.HOSTNAME_OF_CONNECTOR.
Make sure your DNS entries are properly configured to handle the subdomain routing, i.e. that *.<host> targets your Connector.

Redis

For Redis, use <resource-name>.<host> as the TLS server name to specify the resource. The Connector reads it from the TLS handshake, so the connection must use TLS. Example:
Most Redis client libraries derive the TLS server name from the hostname they connect to. Pointing them at RESOURCE_NAME.HOSTNAME_OF_CONNECTOR is therefore enough. redis-cli is an exception, and requires --sni to be passed explicitly.
Make sure DNS entries are properly configured to handle the subdomain routing, i.e. that *.<host> targets the Connector.