Data for This Category
Multi-app routing data has two primary sources: routing rule entries configured in the admin backend, and runtime logs generated during call processes. Data update cadence follows two patterns: routing rules update when manually modified or synced on a schedule, while runtime logs are written in real time after each call completes.
A single routing data entry has the following document structure: unique identifier route_id, source app identifier source_app_id, target app ID list target_app_list, load balance type load_balance_type, weight configuration weight_map, and update timestamp update_time.
target_app_list is an array type, with elements being app ID strings. The unit for update_time is milliseconds.
Constraints for Database and Operations
Real-time routing rule updates require databases to support atomic modification operations, to avoid data conflicts when multiple users modify the same rule simultaneously. Real-time runtime log writing requires databases to support high-concurrency write operations, preventing log loss during peak call periods.
The array-type target_app_list field requires databases to support nested data structure queries, otherwise efficient filtering of qualifying routing rules is not possible. Additionally, financial scenario log retention must align with compliance periods, so reasonable log archiving and cleanup strategies must be configured to avoid database storage space overflow. Routing data query frequency is high, so a caching mechanism must be configured to reduce direct database query pressure.
Configuration Recommendations
| Configuration Item | Recommended Value | Rationale |
|---|---|---|
ROUTE_RULE_CACHE_EXPIRE | 180–300 seconds | Routing rule change frequency is low. Caching reduces database query overhead, while ensuring rule updates take effect within a reasonable time frame |
LOG_RETENTION_DAYS | 90 days | Meets financial industry compliance requirements for log retention, avoids excessive data storage load |
MAX_ROUTE_PARALLEL | 8–12 concurrent | Adapts to the concurrent load limit of target apps associated with a single route, prevents database connection pool exhaustion |
DB_CONNECTION_POOL_SIZE | 20–30 connections | Balances database read/write performance and resource usage, adapts to concurrent call demands of multi-app routing |
ROUTE_INDEX_FIELD | source_app_id, load_balance_type | Creates indexes for high-frequency query fields, improves routing rule filtering efficiency |
The parameter values provided on this page are common recommended starting points for configuration work. Actual values vary based on deployment environment, data volume and business rules. Specific scenarios require targeted analysis, and testing on samples from the target deployment is advised before finalizing settings.
Three Common Misconfigurations
- Symptom: Login failure occurs after local deployment, with a
Connection refusederror displayed in logs. Cause: Database connection parameters associated with multi-app routing are not correctly configured, and network connectivity of the database service is not verified. - Symptom: Matching data associated with sourceid cannot be obtained when calling the route, returning
nullresults. Cause: No database index is created for thesource_app_idfield, causing queries to fail to quickly match target routing rules. - Symptom: After manually modifying a routing rule, the new rule does not take effect immediately. Cause: The
ROUTE_RULE_CACHE_EXPIREparameter is not set reasonably, with an excessively long cache expiration time, causing old rules to still be read.
How to Confirm Configuration Is Complete
- Access the admin backend, view the routing configuration list, and confirm that fields including
route_id,source_app_id,target_app_listfor each rule are correctly filled and saved. - Initiate a test call, review database logs or monitoring panels, and confirm that call records with complete fields are generated in the
route_logcollection. - Simulate ten concurrent calls, review database connection count monitoring, and confirm that the set value of
DB_CONNECTION_POOL_SIZEis not exceeded. - Manually modify the
weight_mapfield of a routing rule, wait for the cache to expire, initiate another call, and confirm that the new weight configuration has taken effect.
Question material comes from public community discussions. Configuration values are common starting points and should be measured against your own samples. Verified on 2026-09-14.