194 lines
5.5 KiB
Plaintext
194 lines
5.5 KiB
Plaintext
Dubbo is a distributed service framework enpowers applications with service import/export capability with high performance RPC.
|
|
|
|
It's composed of three kernel parts:
|
|
|
|
Remoting: a network communication framework provides sync-over-async and request-response messaging.
|
|
|
|
Clustering: a remote procedure call abstraction with load-balancing/failover/clustering capabilities.
|
|
|
|
Registry: a service directory framework for service registration and service event publish/subscription
|
|
|
|
For more, please refer to:
|
|
|
|
http://code.alibabatech.com/wiki/display/dubbo
|
|
|
|
================================================================
|
|
Quick Start
|
|
================================================================
|
|
|
|
Export remote service:
|
|
|
|
<bean id="barService" class="com.foo.BarServiceImpl" />
|
|
|
|
<dubbo:service interface="com.foo.BarService" ref="barService" />
|
|
|
|
Refer remote service:
|
|
|
|
<dubbo:reference id="barService" interface="com.foo.BarService" />
|
|
|
|
<bean id="barAction" class="com.foo.BarAction">
|
|
<property name="barService" ref="barService" />
|
|
</bean>
|
|
|
|
================================================================
|
|
Source Building
|
|
================================================================
|
|
|
|
0. Install the git and maven command line:
|
|
|
|
yum install git
|
|
or: apt-get install git
|
|
|
|
cd ~
|
|
wget http://www.apache.org/dist//maven/binaries/apache-maven-2.2.1-bin.tar.gz
|
|
tar zxvf apache-maven-2.2.1-bin.tar.gz
|
|
vi .bash_profile
|
|
- edit: export PATH=$PATH:~/apache-maven-2.2.1/bin
|
|
source .bash_profile
|
|
|
|
1. Checkout the dubbo source code:
|
|
|
|
cd ~
|
|
git clone https://github.com/AlibabaTech/dubbo.git dubbo
|
|
|
|
git checkout -b dubbo-2.4.0
|
|
git checkout master
|
|
|
|
2. Import the dubbo source code to eclipse project:
|
|
|
|
cd ~/dubbo
|
|
mvn eclipse:eclipse
|
|
Eclipse -> Menu -> File -> Import -> Exsiting Projects to Workspace -> Browse -> Finish
|
|
|
|
Context Menu -> Run As -> Java Application:
|
|
dubbo-demo-provider/src/test/java/com.alibaba.dubbo.demo.provider.DemoProvider
|
|
dubbo-demo-consumer/src/test/java/com.alibaba.dubbo.demo.consumer.DemoConsumer
|
|
dubbo-monitor-simple/src/test/java/com.alibaba.dubbo.monitor.simple.SimpleMonitor
|
|
dubbo-registry-simple/src/test/java/com.alibaba.dubbo.registry.simple.SimpleRegistry
|
|
|
|
Edit Config:
|
|
dubbo-demo-provider/src/test/resources/dubbo.properties
|
|
dubbo-demo-consumer/src/test/resources/dubbo.properties
|
|
dubbo-monitor-simple/src/test/resources/dubbo.properties
|
|
dubbo-registry-simple/src/test/resources/dubbo.properties
|
|
|
|
3. Build the dubbo binary package:
|
|
|
|
cd ~/dubbo
|
|
mvn clean install -Dmaven.test.skip
|
|
cd dubbo/target
|
|
ls
|
|
|
|
4. Install the demo provider:
|
|
|
|
cd ~/dubbo/dubbo-demo-provider/target
|
|
tar zxvf dubbo-demo-provider-2.4.0-assembly.tar.gz
|
|
cd dubbo-demo-provider-2.4.0/bin
|
|
./start.sh
|
|
|
|
5. Install the demo consumer:
|
|
|
|
cd ~/dubbo/dubbo-demo-consumer/target
|
|
tar zxvf dubbo-demo-consumer-2.4.0-assembly.tar.gz
|
|
cd dubbo-demo-consumer-2.4.0/bin
|
|
./start.sh
|
|
cd ../logs
|
|
tail -f stdout.log
|
|
|
|
6. Install the simple monitor:
|
|
|
|
cd ~/dubbo/dubbo-simple-monitor/target
|
|
tar zxvf dubbo-simple-monitor-2.4.0-assembly.tar.gz
|
|
cd dubbo-simple-monitor-2.4.0/bin
|
|
./start.sh
|
|
http://127.0.0.1:8080
|
|
|
|
7. Install the simple registry:
|
|
|
|
cd ~/dubbo/dubbo-simple-registry/target
|
|
tar zxvf dubbo-simple-registry-2.4.0-assembly.tar.gz
|
|
cd dubbo-simple-registry-2.4.0/bin
|
|
./start.sh
|
|
|
|
cd ~/dubbo/dubbo-demo-provider/conf
|
|
vi dubbo.properties
|
|
- edit: dubbo.registry.adddress=dubbo://127.0.0.1:9090
|
|
cd ../bin
|
|
./restart.sh
|
|
|
|
cd ~/dubbo/dubbo-demo-consumer/conf
|
|
vi dubbo.properties
|
|
- edit: dubbo.registry.adddress=dubbo://127.0.0.1:9090
|
|
cd ../bin
|
|
./restart.sh
|
|
|
|
cd ~/dubbo/dubbo-simple-monitor/conf
|
|
vi dubbo.properties
|
|
- edit: dubbo.registry.adddress=dubbo://127.0.0.1:9090
|
|
cd ../bin
|
|
./restart.sh
|
|
|
|
8. Install the zookeeper registry:
|
|
|
|
cd ~
|
|
wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz
|
|
tar zxvf zookeeper-3.3.3.tar.gz
|
|
cd zookeeper-3.3.3/conf
|
|
cp zoo_sample.cfg zoo.cfg
|
|
vi zoo.cfg
|
|
- edit: dataDir=/home/xxx/data
|
|
cd ../bin
|
|
./zkServer.sh start
|
|
|
|
cd ~/dubbo/dubbo-demo-provider/conf
|
|
vi dubbo.properties
|
|
- edit: dubbo.registry.adddress=zookeeper://127.0.0.1:2181
|
|
cd ../bin
|
|
./restart.sh
|
|
|
|
cd ~/dubbo/dubbo-demo-consumer/conf
|
|
vi dubbo.properties
|
|
- edit: dubbo.registry.adddress=zookeeper://127.0.0.1:2181
|
|
cd ../bin
|
|
./restart.sh
|
|
|
|
cd ~/dubbo/dubbo-simple-monitor/conf
|
|
vi dubbo.properties
|
|
- edit: dubbo.registry.adddress=zookeeper://127.0.0.1:2181
|
|
cd ../bin
|
|
./restart.sh
|
|
|
|
9. Install the redis registry:
|
|
|
|
cd ~
|
|
wget http://redis.googlecode.com/files/redis-2.4.8.tar.gz
|
|
tar xzf redis-2.4.8.tar.gz
|
|
cd redis-2.4.8
|
|
make
|
|
nohup ./src/redis-server redis.conf &
|
|
|
|
cd ~/dubbo/dubbo-demo-provider/conf
|
|
vi dubbo.properties
|
|
- edit: dubbo.registry.adddress=redis://127.0.0.1:6379
|
|
cd ../bin
|
|
./restart.sh
|
|
|
|
cd ~/dubbo/dubbo-demo-consumer/conf
|
|
vi dubbo.properties
|
|
- edit: dubbo.registry.adddress=redis://127.0.0.1:6379
|
|
cd ../bin
|
|
./restart.sh
|
|
|
|
cd ~/dubbo/dubbo-simple-monitor/conf
|
|
vi dubbo.properties
|
|
- edit: dubbo.registry.adddress=redis://127.0.0.1:6379
|
|
cd ../bin
|
|
./restart.sh
|
|
|
|
10. Install the admin console:
|
|
|
|
cd ~/dubbo/dubbo-admin
|
|
mvn jetty:run -Ddubbo.registry.address=zookeeper://127.0.0.1:2181
|
|
http://root:root@127.0.0.1:8080
|
|
|