项目地址:
https://github.com/FateSolo/Dubbo-Test
目录:
- 0. 序
- 1. Maven构建项目
- 2. Gradle构建项目
- 3. 搭建Spring + Dubbo框架
- 4. 支持RESTful Remoting
- 5. Dubbo服务集群
- 6. ZooKeeper集群
- 7. Nginx + Tomcat集群
- 8. Redis共享session
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,但目前已经停止更新。
Dubbox,是当当网基于Dubbo开发的框架,支持REST风格远程调用、基于Kryo和FST的Java高效序列化实现等功能。
1. 架构简介:
简单的讲,Dubbo架构可以将一个复杂项目的核心业务方便的抽取出来,作为独立的服务供其他人调用,主要分为三个角色:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
服务提供者将自己暴露的服务在注册中心注册,服务消费者在注册中心发现服务并调用,具体介绍参阅Dubbo用户指南。
2. 安装ZooKeeper:
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。它是Dubbo所推荐的注册中心,因此首先安装ZooKeeper。
1) 在http://www.apache.org/dist/zookeeper/current/ 下载最新版本的ZooKeeper压缩包并解压。
2) 解压后进入conf文件夹,复制zoo_sample.cfg,改名为zoo.cfg,ZooKeeper运行时默认加载此配置文件。
3) 进入bin文件夹,键入如下命令启动ZooKeeper:1
./zkServer.sh start
3. 部署dubbo-admin:
dubbo-admin是Dubbo官方提供的服务监控管理端,它是一个独立的运行于Tomcat等web容器的项目,不与服务提供者、服务消费者耦合,通过监控注册中心的方式实现了对服务的管理。
1) 下载源码:1
git clone git@github.com:dangdangdotcom/dubbox.git
也可以采用别的方式下载源码,甚至可以直接下载网络上已经打成war包的项目,但建议下载最新源码并手动打成war包。
2) 进入dubbox/dubbo-admin/src/main/webapp/WEB-INF文件夹,打开dubbo.properties配置文件,确保注册中心地址指向你的ZooKeeper,例如:1
dubbo.registry.address=zookeeper://127.0.0.1:2181
3) 退回到dubbox文件夹,键入命令:1
mvn install -Dmaven.test.skip
请先确保安装好了Maven。
4) 将dubbox/dubbo-admin/target下的war包拷贝至tomcat的webapps下,改名为dubbo-admin.war,启动tomcat即完成了部署。
5) 访问http://localhost:8080/dubbo-admin ,用户名与密码都键入root,便可进入该管理系统,如图:
作者 [@FateSolo]
2017 年 05月 23日