weibocom/motan

A cross-language remote procedure call(RPC) framework for rapid development of high performance distributed services.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 56 minutes ago
Added to GitGenius on September 11th, 2026
Created on April 20th, 2016
Open Issues & Pull Requests: 364 (+0)
GitHub issues: Enabled
Number of forks: 1,741
Total Stargazers: 5,869 (+0)
Total Subscribers: 592 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.6 hours
Mean response time: 17.9 hours
90th percentile: 2.6 days
Tracked items: 9

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 6
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 691 days
Stale 30+ days: 6
Stale 90+ days: 6

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Motan is a cross-language remote procedure call framework for building high-performance distributed services.

Motan addresses the complexity of building distributed systems by providing an RPC framework that abstracts away the mechanics of remote communication. It enables developers to call methods on services running on different machines as if they were local, handling serialization, network transport, and error handling transparently. The framework supports both synchronous and asynchronous invocation patterns, allowing services to be called either blocking or non-blocking depending on application needs.

Teams should adopt Motan if they are building polyglot distributed systems where services need to communicate across language boundaries. The framework is particularly suited for organizations already using Java as a primary language but requiring interoperability with Go, PHP, or Lua services. Motan integrates with service discovery platforms like Consul and Zookeeper, making it practical for dynamic environments where service locations change. The framework includes production-ready features such as weighted load balancing, cross-datacenter scheduling, and high-availability support for handling high-load scenarios. Developers can create distributed services with minimal boilerplate by using XML configuration and annotations rather than writing extensive integration code.

The project maintains active development across multiple language implementations within its ecosystem, with dedicated repositories for Go, PHP, and Lua clients. The codebase shows ongoing refinement of core RPC functionality and integration patterns. Documentation is maintained in multiple languages, indicating sustained effort to serve a geographically distributed user base. The project accepts contributions and maintains the infrastructure needed to support cross-language interoperability, suggesting a commitment to evolving the framework as distributed systems practices advance.