美文网首页
dubbo的基本认识

dubbo的基本认识

作者: 剑道_7ffc | 来源:发表于2020-05-28 12:05 被阅读0次

    为什么要用dubbo

    dubbo是一个中间件,提供以下功能
    服务远程通信(rpc框架的基本功能),服务的跟踪和监控,服务的发现和感知,服务的容错和服务的负载均衡。

    Dubbo项目搭建

    请参看官网文档:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html

    关于 DubboMain 启动的真相

    dubbo的启动类org.apache.dubbo.container.Main#main

    public static void main( String[] args ) throws IOException {
        Main.main(new String[]{"spring","log4j"}); //Dubbo提供的启动类方法,它会启动dobbu中配置的多个container
    }
    

    容器类型

    SpringContainer:启动spring容器,默认取META-INF/spring/*.xml的配置文件加载
    org.apache.dubbo.container.spring.SpringContainer#start

    public void start() {
        String configPath = ConfigUtils.getProperty("dubbo.spring.config");
        if (StringUtils.isEmpty(configPath)) {
            configPath = "classpath*:META-INF/spring/*.xml";
        }
        context = new ClassPathXmlApplicationContext(configPath.split("[,\\s]+"), false);
        context.refresh();
        context.start();
    }
    

    Log4jContainer:启动log4j日志
    LogbackContainer:启动Logback日志

    基于注册中心的 Dubbo 服务

    Dubbo 能够支持的注册中心有:consul、etcd、nacos、sofa、zookeeper、
    redis、multicast

    zookeeper 作为注册中心

    <dubbo:registry address="zookeeper://192.168.13.102:2181" />
    

    Dubbo 集成 Zookeeper 的实现原理

    image.png

    dubbo 每次都要连 zookeeper

    可以通过缓存来解决这个问题

    <dubbo:registry id="zookeeper"  address="zookeeper://192.168.13.102:2181" file="d:/dubbo-server" />
    

    多注册中心支持

    配置多个注册中心
    <dubbo:registry id="rg1" address="zookeeper://47.110.245.187:2181"/>
    <dubbo:registry id="rg2" address="zookeeper://47.110.245.187:2181"/>
    
    将服务注册到不同的注册中心
    <dubbo:reference interface="com.dubbo.IPayService" id="payService" registry="rg1"/>
    
    注册中心的其他支持
    1. 当设置 <dubbo:registry check="false" /> 时,记录失败注册和订阅请求,
      后台定时重试
    2. 可通过 <dubbo:registry username="admin" password="1234" /> 设置
      zookeeper 登录信息
    3. 可通过 <dubbo:registry group="dubbo" /> 设置 zookeeper 的根节
      点,默认使用 dubbo 作为 dubbo 服务注册的 namespace。

    Dubbo 仅仅是一个 RPC 框架?

    1 基于 Dubbo 协议的远程通信
    2 提供服务注册和服务发现
    3 Dubbo 可以支持市面上主流的注册中心
    4 Dubbo 提供了 Container 的支持,默认提供了 3 种 container。我们可以
    自行扩展
    5 Dubbo 对于 RPC 通信协议的支持如Dubbo 协议,它还rmi、hessian、http、webservice、thrift、rest。可以根据不同的场景选择合适的协议。如rest协议:通过http请求来访问服务。

    Dubbo 监控平台安装

    安装步骤

    1 从github地址为https://github.com/apache/dubbo-admin,在加zip源码
    2 使用idea将项目导入并执行clean package,主要原因是一旦报错,idea的错误信息比命令行的提示信息更好看一下
    3 找到org.apache.dubbo.admin.DubboAdminApplication,运行main方法

    访问项目

    访问地址http://localhost:8080

    image.png

    Dubbo 的终端操作方法

    进入终端

    通过telnet对本地发布的dubbo服务进行调试和管理
    打开命令行,执行命令telnet localhost 20880
    若telnet命令不可用,则勾选启用关闭windows功能的telnet客户端选项即可


    image.png

    基本命令

    help
    image.png
    ls
    image.png
    count

    前提是dubbo协议的服务


    image.png
    invoke
    image.png
    status
    image.png

    相关文章

      网友评论

          本文标题:dubbo的基本认识

          本文链接:https://www.haomeiwen.com/subject/jwwwahtx.html