Dubbo

RPC vs REST HTTP

1.接口风格不同

  RPC 动词风格 面向执行过程

  HTTP 名词风格 面向所操作的资源

2.

 

 3.RPC只是一个服务治理框架,功能不及spring cloud 全面

4. eureka是消费端主动拉取注册列表,因此对于节点下线响应较慢

 dubbo是长连接,基于zookeeper+发布订阅模型,进行主动推送,对于节点的变化可以迅速感知

 

zookeeper安装与启动

1.  下载Zookeeper最新版,
http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.5/

2. 配置
打开文件夹/usr/local/apache-zookeeper-3.5.5-bin/conf
将zoo_sample.cfg 复制一份命名为zoo.cfg

 

 



3. 启动Zookeeper
打开文件夹/usr/local/apache-zookeeper-3.5.5-bin/bin
Mac执行命令行执行 ./zkServer.sh start
Windows同学执行对应的cmd文件

启动完成以后出现这个就代表着启动成功
ZooKeeper JMX enabled by default
Using config: /usr/local/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

4. 运行验证 ./zkCli.sh
最后打印出一堆东西最后一行是
WatchedEvent state:SyncConnected type:None path:null

5. 关闭Zookeeper ./zkServer.sh stop

 

 

dubbo工程demo:

1.创建api接口层

  1)创建pojo,实现序列化

  

 

 

   2)创建接口类

  

 

 2.创建dubbo-provider

  1)引入相关依赖项

  

 

         

 

 

   2)创建启动类

    

 

   3)创建api层定义的接口的实现类,添加@service注解(注意,是dubbo包下面的service注解)

    

 

 3.添加配置文件

 

 

 

 

 

 4.创建dubbo-consumer

  1)添加pom依赖(同provider)

  2)创建启动类(同provider)

  3)发起调用,核心是@Reference注解

  

 

   4)添加配置文件,同provider,修改一下server.port

  

dubbo-admin

 

 

1.  下载Dubbo-Admin (develop branch)
https://github.com/apache/dubbo-admin

2. 编译前端项目
a. 安装nodejs,使其可以执行npm命令
b. 因为前端项目依赖包下载非常慢,所以加一个npm的代理镜像在~/.npmrc中增加
registry=https://registry.npm.taobao.org

3. 进入刚才下载的dubbo-admin项目下面的dubbo-admin-ui项目,
执行npm install命令

4.修改zookeeper配置文件,重启zookeeper
添加admin.serverPort=63010
5.启动dubbo-admin-server(springboot后端工程)
6.npm run dev 启动dubbo-admin-ui
7.访问前端页面

 

 

  

posted @ 2020-09-08 04:16  红嘴鲤鱼  阅读(258)  评论(0编辑  收藏  举报