虚拟机linux------安装dubbo的zookeeper

dubbox:
    分布式服务框架
    前身 阿里巴巴开源项目dubbo

    角色:
        provider:暴露服务的服务提供方
        consumer:调用远程服务的服务消费方
        register:服务注册与发现的注册中心
        Monitor:统计服务的调用次调和调用时间的监控中心
    
    调用关系:
        1、服务器启动,加载,运行服务提供者
        2、服务提供者在启动时,向注册中心注册自己提供的服务
        3、服务消费者在启动时,向注册中心订阅自己所需的服务
        4、注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者
        5、服务消费者,从提供地址列表中,基于软负债均衡算法,选一台提供者进行调用,如果调用失败,再选一台调用
        6、服务消费者和提供者,在内存中调用次数和调用时间,定时每分钟发送一次统计数据到数据中心

注册中心 Zookeeper
    是一个树型的目录服务,负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。

    在linux下的安装:
        1、安装jdk
        2、上传zookeeper压缩包
        3、解压压缩包
        4、进入加压后的zookeeper目录
        5、创建data文件夹
        6、进入conf目录,复制一份zoo_sample.cfg改名为zoo.cfg
        7、打开zoo.cfg,修改属性  dataDir=/root/zookeeper-3.4.6/data

    启动:
        进入bin目录,输入./zkServer.sh start
    关闭:
        输入 ./zkServer.sh stop
    查看状态
        ./zkServer.sh status


管控台(监控中心):
    安装:
        1、上传dubbo-admin-2.8.4.war(编译管理端的源码得到)
        2、复制dubbo-admin-2.8.4.war 到tomacat的webapps下
        3、启动tomcat   ./bin/startup.sh(查看启动过程 tail -F tomcat7/logs/catalina.out)
        4、如果你部署在zookeeper同一台主机并且端口是默认的2181,则无需修改任何配置。如果不是在一台主机上或端口被修改,需要修改WEB-INF下的dubbo.properties  ,修改如下配置:dubbo.registry.address=zookeeper://127.0.0.1:2181,之后重新启动tomcat

    使用(在打开zookeeper(先打开)和tomcat的前提下):
        打开浏览器,输入http://192.168.44.130:8080/dubbo-admin/ ,登录用户名和密码均为root 进入首页
    
    问题:
        当服务提供发需要执行一些耗时操作时,那么服务消费方,会默认情况情况每隔一秒调用一次,默认调用三次,如果还没有返回结果,消费方抛出异常
        
        分析
            好处:dubbo在设计之初,考虑到了接口的健壮性
            坏处:对于写操作的接口,就不合适了
        解决:
            解决接口超时:使用一些配置,可以再消费方配置,也可以在服务方配置,但是在消费方的超时时间一定要大于服务方的接口执行时间。我们推荐在服务方配置。@Service(timeout=6000,retries=1)

 

你可能感兴趣的:(虚拟机linux------安装dubbo的zookeeper)