【03】dubbo学习

a 夏天 提交于 2019-12-03 14:01:16

B站视频地址:https://www.bilibili.com/video/av61409284

 

1.模拟服务提供者

springcloud01-service-provider/ProviderApplication

HelloController

 

请求方式: http://localhost:8081/service/hello

 

2.模拟服务消费者(直接调用服务提供者)

springcloud02-service-consumer/ConsumerApplication

WebController

 

 

 

 

 3.搭建服务注册中心Eureka

1.添加pom依赖

 

 2.使Eureka服务成为注册中心

 

 3.配置Eureka服务配置中心

 

 4.启动服务注册中心

 

 5.向服务注册中心 注册 服务提供者(服务提供者/消费者 --- 都是服务客户端

1.添加(Eureka客户端)依赖

 

 2.使服务提供者成为 Eureka客户端

 

 3.配置服务名称和服务地址(在注册中心的地址)

 4.启动服务提供者

 5.刷新服务注册中心地址

6.服务消费者发现服务提供者

 1.添加pom依赖

 

 2.使消费者服务成为Eureka客户端

 

 3.配置服务名和服务地址

 

 

 

 

 

 

 

 

 

 

 7.验证: 通过服务注册中心方式开发

 

 

============================================================

 

8.搭建高可用服务注册中心(Eureka)

1.各个注册中心相互注册

 

 

 

 2.非高可用注册中心

 

 3.搭建高可用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 9.高可用注册中心测试

之前

 

 现在: 

 

 

 

 

 

 

 

 

------------恢复内容结束------------

  demo-code: https://pan.baidu.com/s/1o9IJuKUAB7QidAU-lK9iWQ

dubbo学习: https://www.bilibili.com/video/av30612478

dubbo首页: http://dubbo.apache.org/zh-cn/index.html


解决困惑:
1.解决maven下载包的问题: https://www.cnblogs.com/layezi/p/11652805.html
2.如何使@Autowired生效: <bean class=...AutowiredAnnotationBeanPostProcessor"></bean>
3.地址127.0.0.1指本机地址,一般用来测试使用



1 搭建注册中心
  1.1 进入dubbo官网/文档/注册中心 --- 瞅瞅有哪几种注册中心, dubbo建议zookeeper注册中心
  
  2.1 搭建zookeeper注册中心, 首先进入zookeeper官网
     1.1.1 下载 zookeeper-3.4.11.tar.gz 包, 解压
     1.1.2 启动zkServer.cmd(查看是否启动成功, 端口是否与配置相符合)
     1.1.2 启动zkCli.cmd(执行如以下的命令, 验证一下zookeeper目录结构)
           ls /
           create -e /gd gd
           ls /
           create -e /dubbo dubbo
           get /gd
           get /dubbo
           
           
2 安装dubbo监控中心(git clone 一下 dubbo admin控制台代码, master分支, 打jar包执行-springboot启动方式)
  2.1 启动dubbo的管理控制台
     2.1.0 进入dubbo的github地址, 搜索"Dubbo Admin", 
           下载master分支的源码 或 clone master分支的源码       
     2.1.1 检查配置文件zookeeper地址是否正确
     2.2.3 对dubbo-admin打包: mvn clean package, 启动: java -jar xxx-SNAPSHOT.jar
           
  2.2 访问dubbo的管理控制台: http://localhost:7001/  用户名: root  密码: root 
  
  
  
 
3 需求: 
IOrderService(部署在A服务器)中 有个实现类中的方法调用了 IUserService(部署在B服务器)中的某个方法

IOrderService
   void initOrder(String userId)
      1.根据userId查询用户地址列表: List getUserAddressList(userId)
      2.
      3.
      ... ... 
      
IUserService
   List getUserAddressList(userId)
      

  3.1 创建 user-service-provider 
        IUserService接口及实现类
        
  3.2 创建 order-service-consumer 
        IOrderService接口及实现类(暂时略)
        
  3.3 新建gmall-common 工程, 将公共 bean, 接口, 异常 放在其中
      在 3.1 和 3.2 中引入 gmall-common 的pom依赖
    
  3.4 dubbo服务提供者
     3.4.1 dubbo pom依赖, curator依赖(zookeeper 2.6以上)
     
     3.4.2 provider.xml
        3.4.2.1 应用 名
        3.4.2.2 注册中心 地址
        
        3.4.2.3 通信协议 名(dubbo) 端口(20880)
        3.4.2.4 (暴露)服务 接口 ref(bean)
        
  3.5 dubbo服务消费者
     3.5.1 dubbo pom依赖, curator依赖(zookeeper 2.6以上)
     
     3.5.2 provider.xml
        3.5.2.1 应用 名
        3.5.2.2 注册中
        
        3.5.2.3 引用 接口 id(bean)
        

   3.6 总结:      服务提供者: 应用名/注册中心地址/通信协议/(暴露)服务接口      服务消费者: 应用名/注册中心地址/引用接口截止:   1.启动dubbo建议的zookeeper注册中心, zkServer.cmd, zkCli.cmd  2.dubbo监控中心:      dubbo-admin(管理页面): mvn命令打jar包, 执行java命令      监控中心...

 

 

 



       

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!