Dubbo is a distributed, high performance RPC framework which empowers applications with service import/export capabilities.
It contains three key parts, which include:
- Remoting: a network communication framework providing sync-over-async and request-response messaging.
- Clustering: a remote procedure call abstraction with load-balancing/failover/clustering capabilities.
- Registration: a service directory framework for service registration and service event publish/subscription
For more details, please refer to dubbo.io.
This guide gets you started with dubbo with a simple working example.
Download the sources(examples)
You’ll need a local copy of the example code to work through this quickstart. Download the demo code from our Github repository (the following command clones the entire repository, but you just need the
dubbo-demo for this quickstart and other tutorials):
$ cd ~ $ # Clone the repository to get the source code. $ git clone https://github.com/alibaba/dubbo.git dubbo $ git checkout master $ # or: git checkout -b dubbo-2.4.x
Build & Run
- Build the whole sources use the following maven command
$ cd ~/dubbo $ mvn clean install -Dmaven.test.skip $ # The demo code for this quickstart all stay in the `dubbo-demo` folder $ cd ./dubbo-demo $ ls
- Run demo-provider. Start the provider and export service
$ # Navigate to the provider part $ cd ~/dubbo/demo-demo/dubbo-demo-provider/target $ # unpack $ tar zxvf dubbo-demo-provider-2.5.4-SNAPSHOT-assembly.tar.gz $ cd dubbo-demo-provider-2.5.4-SNAPSHOT/bin $ ls
$ # Start the provider $ ./start.sh
- Run demo-consumer. Start the consumer and consume service provided by the provider above
$ # Navigate to the consumer part $ cd ~/dubbo/demo-demo/dubbo-demo-consumer/target $ # unpack $ tar zxvf dubbo-demo-consumer-2.5.4-SNAPSHOT-assembly.tar.gz $ cd dubbo-demo-consumer-2.5.4-SNAPSHOT/bin $ ls
For a more detailed tutorial of this demo, click here