dubbo是什么

它是分布式框架,提供高性能和透明的RPC调用方案,以及SOA服务治理方案。其实就是远程调用服务的分布式框架,改变传统的Web service模式中的WSDL,用服务者和消费者的方式在dubbo上注册。

解决什么问题

随着互联网发展,应用的规模不断扩大,常规的垂直架构无法支撑,分布式架构势在必行。

  1. 单一架构,减少部署和成本,部署方便。
  2. 垂直架构,将系统拆分出来,MVC的模式,提升效率。
  3. 分布式架构,当垂直的应用越来越多,之间的交互不可避免。提取公共的模块,复用整合的RPC框架。
  4. SOA,随着分布式架构扩大,越来越多的服务需要管理,提高集群利用率和资源是关键。

如何使用

这里我使用 zookeeper 当注册中心做例子。

1. 安装zookeeper

这里我使用docker做快速安装。使用https://hub.docker.com/_/zookeeper 脚本

docker 真的好玩,以后多多研究

// 执行命令,拿到最新的image
docker pull zookeeper

// name:是给容器取名字,-p <端口映射> 宿主端口:容器端口,-d 是后台运行
docker run --name zk-server -p 2181:2181  -d zookeeper

上面的命令在docker容器里跑起了zookeeper并且端口2181映射到宿主机(就是自己的电脑)。
通过 telnet 127.0.0.1 2181 可以检查端口。


这样就是端口通的。

2. 运行dubbo-admin

为了方便理解dubbo,我们把dubbo-admin项目跑起来看看。项目地址:https://github.com/apache/dubbo-admin ,下载项目,安装过程文档上写的很清楚。

前端运行[目录 dubbo-admin-ui]

需要安装 node.jshttps://nodejs.org/zh-cn/,会带着npm包管理器。

如果npm慢的可以找国内通道,比如cnpm。

进入dubbo-admin-ui目录,执行以下命令

// 初始化安装
npm install

// 运行调试模式
npm run dev

其他命令可以看 https://github.com/apache/dubbo-admin/blob/develop/dubbo-admin-ui/README.md

后端运行[目录 dubbo-admin-server]

需要先修改配置,找到application.properties文件,修改里面的zookeeper地址,因为从容器里映射出端口号了,所以直接用127.0.0.1可以通。

# centers in dubbo2.7

admin.registry.address=zookeeper://127.0.0.1:2181

admin.config-center=zookeeper://127.0.0.1:2181

admin.metadata-report.address=zookeeper://127.0.0.1:2181

// 下面是账号密码,界面登录时候用到,可以自己修改
admin.root.user.name=root
admin.root.user.password=root

最后直接debug运行起来就行了。

访问前端地址(默认): http://localhost:8081
端口都是在配置文件中修改。