Comparison between MSHA commercial and open source products
Updated at:
This topic compares the architecture, general capabilities, and auxiliary capabilities of MSHA commercial and open source products.
Architecture support
| Architecture | Commercial product | Open source product |
| Geo-redundancy active-active | ✅ | ✅ |
| Active zone-redundancy | ✅ | ❌ |
| Geo-redundancy active-active for applications | ✅ | ❌ |
Geo-redundancy active-active
| Component | Feature category | Feature description | Commercial product | Open source product |
| Gateway | Routing | Range-based routing | ✅ | ✅ |
| Gateway | Routing | Precise routing | ✅ | ❌ |
| Service layer (Spring Cloud) | Routing | Range-based routing | ✅ | ❌ |
| Service layer (Spring Cloud) | Routing | Precise routing | ✅ | ❌ |
| Service layer (Spring Cloud) | Routing | Unit protection (Calls to other units fail directly) | ✅ | ❌ |
| Service layer (Dubbo) | Routing | Range-based routing | ✅ | ✅ |
| Service layer (Dubbo) | Routing | Precise routing | ✅ | ❌ |
| Service layer (Dubbo) | Routing | Unit protection (Calls to other units fail directly) | ✅ | ✅ |
| Message layer (MQ) | Routing | Publishing with tags (routing ID) | ✅ | ❌ |
| Message layer (MQ) | Routing | Consumption filtering (Calculates the consumption unit based on the routing ID) | ✅ | ❌ |
| Message layer (MQ) | Failover | Resets the offset during traffic switchover to prevent message loss | ✅ | ❌ |
| Data layer (MySQL) | Routing | Data protection to prevent dirty data from multi-point writes | ✅ | ✅ |
| Data layer (MySQL) | Failover | Routing ID dimension: Switches data sources and disables writes with a delay. Supported data sources include the following:
| ✅ | ❌ |
General capabilities
| Component | Feature category | Feature description | Commercial product | Open source product |
| Gateway | Routing | Conditional routing (Ingress traffic rerouting) | ✅ | ❌ |
| Registry sync | Service discovery | Cross-cluster service sync | ✅ | ❌ |
| Traffic switchover module | Command channel | Establishes a communication channel between the control plane and the data plane | ✅ | ✅ |
| Traffic switchover module | Traffic switchover | One-click traffic switchover (Completes action orchestration, rule calculation, and delivery) | ✅ | ❌ |
| Traffic switchover module | Traffic switchover | Custom actions | ✅ | ❌ |
Auxiliary capabilities
O&M
| Component | Feature category | Feature description | Commercial product | Open source product |
| Gateway | Health check | Gateway instance inspection and reporting of abnormal instances. | ✅ | ❌ |
| Gateway | Health check | Upstream inspection with automatic removal and recovery. | ✅ | ❌ |
| Gateway | Publish | Supports version management and canary release. | ✅ | ❌ |
| Registry sync | Health check | Instance inspection and reporting of abnormal instances. | ✅ | ❌ |
| OPS | Alerting | Reports and sends alerts for all related abnormal events. | ✅ | ❌ |
Observability
| Component | Feature category | Feature description | Commercial product | Open source product |
| Gateway | Metrics | General metrics and architecture-specific metrics. | ✅ | ❌ |
| Gateway | Logging | Structured access logs and error logs. | ✅ | ✅ |
| Gateway | Tracing | Generates a Trace ID for each request. | ✅ | ❌ |
| Registry sync | Metrics | Task-granularity sync QPS, response time (RT), and error count. | ✅ | ❌ |
| Agent | Logging |
| ✅ | ❌ |
| Agent | Metrics | QPS, RT, and error rate for each module aspect. | ✅ | ❌ |
| Data layer | Metrics | Sync offset latency. | ✅ | ❌ |
| Message layer | Metrics | Sync offset latency. | ✅ | ❌ |
Is this page helpful?