Dubbo与Zookeeper笔记1

/**

  • dubbo
  • rpc:远程过程调用
  • http:
  • 优势:性能高, 稳定性, 门槛低
  • 入门开发步骤:
  • 1.搭建注册中心
  • 2.搭建监控中心:前后的分离项目
  •  前端 工程:dubbo-admin-ui   nodejs  +vuejs
    
  •      npm install
    
  •      npm start
    
  •      访问 地址 :http://localhost:8081
    
  •    后台服务:dubbo-admin-server.springboot工程
    
  •      配置:需要配置zookeeper注册中心的地址
    
  •      打包: mvn clean package -Dmaven.skip.test=ture
    
  •      切换到target 目录启动 java-jar xxx.jar
    
  • zookeeper
  • 分布式协调服务
  • 作用 统一命名服务 ,注册中心, 分布式锁
  •     配置管理 , 配置中心
    
  •     集群管理
    
  • zookeeper安装,1. 解压
  •              2,conf 下
    
  •              3.bin目录下
    
  •              4.进入客户端
    
  •              集群 zoo.cfg:zk的端口号 (2182),
    
  •                           配置数据目录
    
  •                            zk服务列表 server.1=ip
    
  •                    data/myid:配置服务的编号
    
  •                    选主机制: 全新集群  启动顺序 34152
    
  •                             非全新集群,数据id, 每次执行写操作,数据id就递增1
    
  •                                                   数据id大的是新主
    
  •                                          leadId: 服务的编号, 编号大大师新主
    
  •                                          逻辑时钟 :每次选举逻辑时钟递增1
    
  •                                                      逻辑时钟小的选举会被忽略
    
  •                    zk集群的服务都是奇数台
    
  •   zookeeper基本命令  help
    
  •                     查看子节点也可以查看当前节点的状态信息
    
  •                     创建节点 create /path"内容"
    
  •                     更新节点内容 set/path "内容"
    
  •                     删除节点 delete  :删除没有子节点的
    
  •                              rmr/path:可以递归删除带子节点的节点
    
  •                     查看节点状态  stat/path
    
  •                                  创建事务id,创建时间, 更新事务id,更新时间, 子节点版本号, 数据版本
    
  •                                  子节点数量, 数据长度, 是否临时节点
    
  •                      查看节点内容及状态  get/path
    
  •   Znode节点   zk本质 是一个小的文件系统, 树状结构
    
  •              所有的节点都是/这个 根节点 的子节点
    
  •              节点类型 永久节点  create/path
    
  •              临时节点  create -e/path ,生命周期是当前客户端会话
    
  •              永久序列化节点  create -s/path"内容" 当创建节点是,会在节点名称上 自动追加一个从0递增序列化号
    
  •             临时序列化节点  create -e -s /path "内容"
    
  •  zookeeper监听
    
  •              客服端可以监听一个znode节点, 节点一旦发生变化, 监听的客户端就会异步监听到服务端的状态变化
    
  •              注册监听 : ls , ls2  , get ,stat,链接
    
  •              触发监听 : create , set delete, 链接状态的变化
    
  •                         特点:一次性监听, 异步监听, 监听当前节点或子节点
    
  •   java 客户端
    
  •              获取链接:zookeeper= new zookeeper (connection String , timeOut,new Watch )
    
  •              关闭链接, zookeeper.close()
    
  •              创建节点:create
    
  •              删除节点:delete
    
  •              查看子节点: getChildren 获取子节点
    
  •              查看节点的内容,getData方法,
    
  •              查看节点状态 exists
    
  •     dubbo入门程序
    
  •          依赖:
    
    •          1.dubbo的springboot启动器
      
    •          2.dubbo整合zookeeper 依赖
      
    •          3.zookeeper 客服端
      
  •          配置:
    
  •              1dubbo.application.name=dubbo 的应用名
    
  •              2.dubbo.registry.address=zookeeper://ip:port
    
  •              3.dubbo.regitry.protocol=zookeeper
    
  •              4.dubbo.protocal.name=dubbo     提供方
    
  •              5 dubbo.protocol.port=20880     提供方
    
  •              6.监控中心 dubbo.minitor.protocol=registry
    
  •         注解
    
  •              @EnableDubbo 在启动类上 添加该注解
    
  •               @Service 服务提供方 service 的实现类上,通过该注解暴露service服务
    
  •               @Reference  服务的消费方 ,通过该注解 注入提供方 的service服务
    
  •          前提
    
  •              1.搭建 zookeeper 注册中心
    
  •              2.搭建好监控中心, 前段, 后端服务  node+vue(npm install,start )
    
  •                                 后端  springboot服务 ,1.先获取application.properties的zookeeper地址
    
  •                                  2. package:mvn clean package -Dmaven.skip.test=true;
    
  •                                  3.切换到target目录,启动, java
    
  •  注册中心:eureka  nacos  zookeeper
    
  •  负载均衡组件 ribbon(默认就是 轮询算法)
    
  •  熔断组件 :hystrix(有缺陷)
    
  •  分布式 流控 组件: sentinel
    
  •  服务调用组件:feign (RestTemplate, ribbon  ,默认继承hystrix )
    
  •  网关组件 :gateway (zuul网关)
    
  •  配置中心组件:异变 的组件 nacos , config , Apollo(携程,功能稳定,性能成熟)
    
  •  链路追踪组件 :sleuth
    
  • 浏览发送一个请求
  •  gateway 网关: 统一拦截, 身份认证, 权限验证, 服务路由, 负载均衡,限流...
    
  •          服务路由,把不同的请求分发给不同的访问,
    
  •          负载均衡 ,把很多相同的请求分发给相同服务 的不同服务器
    
  •  feign(集成 ribbon, hystrix)
    
  •  由于用户的请求具有不可预测性, 响应限流组件, sentinel
    
  •  限流的参考:需要链路追踪组件 sleuth
    
  •  一般情况下, 两个组件可以配合使用 ,
    

*Zookeeper本质是 一个分布式 的小文件存储系统, 提供类似于文件系统的目录树的数据存储, 并且可以对树中的节点 进行有效管理,

  • 从而用来维护和监控你存储的数据状态变化 , 通过监控这些数据状态 的辩护啊, 从而可以达到基于数据的集群管理

*主要作用:统一命名服务:zk会生成类似于文件系统的树状结构, 可以生成不重复唯一名称, 列如注册中心, 分布式锁

  • 配置管理
  • 集群 管理 :维护当前集群中服务状态, 选出总管来管理集群
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值