Linux 配置 dubbo 和 dubbo的简单介绍。

一、是么是  dubbo?

一、dubbo?
    1.因为项目之间需要相互调用,达到某种预期的结果
    
    1.1 restful?
        门户网站必须要知道用户的登录状态,但是用户的登录状态在登录项目中,所以门户网站必须要请求登录项目获取用户的登录状态,使用的restful
        restful需要把用户的登录状态暴露在http中,一旦被截获/被修改,导致整个项目运行出事故,除非http工具类做的非常安全
        restful并不符合mvc的思想
            MVC:controller-->service-->mapper-->model
            restful:controller-->controller

    2.RPC:
        为了解决以上的问题才出现了RPC,目前为止springcloud依然延续使用Restful
        remote preducer call:远程 过程 调用,也称之为远程调用

    3.本地调用:
        在同一个项目/在同一个域中,发起调用请求,最终达到所要预期的效果,就称之为本地调用
        在同一个项目中controller调用service,service又调用mapper,最终达到预期的结果
        晚上两个人一起吃饭,吃完饭以后需要洗完,但是我老婆不想洗碗,于是就说老公你去把碗洗一下,于是在我非常开心(JI DU BU QING YUAN)的情况下就把碗洗了,最终我老婆达到了自己预期的效果,这个就叫本地调用

    4.远程调用:
        在不同的项目中/在不同的域中,发起调用请求,最终达到了所要预期的效果,就称之为远程调用
        在不同的项目中(portal,login),portal项目去请求login项目,最终portal获取到了自己所需要的数据,最终达到了自己的结果
        晚上两个人一起吃饭,吃完饭了以后我老婆跟闺蜜一起出去浪,我就被扔家里了,我老婆在外面正在买衣服的时候,突然想起来家里还有碗没有洗,于是就给我打电话,老公我突然想到家里碗还没有洗,你去洗一洗,于是我就把碗洗了,最终我老婆达到了自己预期的效果,这个就叫远程调用

    5.RPC非常优秀的一个框架叫做dubbo
        阿里巴巴叫dubbo
        当当网叫dubbox
        京东叫JSF
        spring公司的springcloud

    6.什么是dubbo?
        dubbo之前是阿里巴巴公司开发,最终贡献给了apache项目基金会
        duubo就是高性能 轻量级的 基于Java开发 开源的 RPC框架
        
    //    三大核心:
        dubbo提供了三大核心:
            1.面向接口的风格
            2.容错和负载均衡
            3.自动的服务注册和服务发现
            
    //    面向接口的风格:
            restful是controller调用controller
            dubbo是controller调用service(只需要定义接口即可,不需要实现类)
    
    //    容错:
            在项目运行中即使出现了错误,仍然可以继续运行的解决方案就叫做容错
        自动的服务注册和服务发现:
            使用到了zookeeper注册中心,通过zookeeper来实现自动的服务注册和发现

二、 dubbo 的配置。

1.配置zookeeper  三台起步。
    2.配置jdk
    3.配置tomcat
    4.配置maven
        4.1
    //        <localRepository>/home/reposiroty<localRepository>
        4.2 镜像
/*    <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  </mirror>
*/
        4.3 jdk
/*    <profile>
            <id>jdk-1.8</id>

            <activation>
                <activeByDefault>true</activeByDefault>
                <jdk>1.8</jdk>
            </activation>
            <properties>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>1.8</maven.compiler.target>
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
            </properties>
            <repositories>
                <repository>
                    <id>jdk17</id>
                    <name>Repository for JDK 1.8 builds</name>
                    <url>http://www.myhost.com/maven/jdk18</url>
                    <layout>default</layout>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>    
*/
    
    5.解压dubbo
        tar -zxvf xxxxx
    6.进入dubbo目录编译duboo 
    /*
        cd alibaba-dubbo-4791067/
        mvn install -Dmaven.test.skip=true
    */
    
    
    6.1  
        启动三台zookeeper  
        
    //找到    cd /home/apps/zookeeper-3.4.6/bin
    
    //启动    ./zkServer.sh start
    
    //查看状态  ./zkServer.sh status
    
    //结束进程  ./zkServer.sh stop
    
    7.找到dubbo-admin目录,进入target,找到dubbo-admin-2.5.7.war
    
        7.1把war包放入到tomcat中
        // cp -r dubbo-admin-2.5.7.war  /home/apps/apache-tomcat-8.5.43/webapps/ 
        
        7.2 进入Tomcat /webapps/中将 root删除掉
        
        7.3 将copy 过来的 dubbo-admin-2.5.7.war 改名为  ROOT.war
        //  mv dubbo-admin-2.5.7.war ROOT.war   
        
        
        
    8.启动tomcat

        回到  /home/apps/apache-tomcat-8.5.43/webapps/  目录下  
              cd ROOT
              cd WEB-INF/---------dubbo.properties
              

    
    9.修改dubbo的配置文件(在WEB-INF目录下的dubbo.properties)
        dubbo.registry.address=zookeeper://127.0.0.1:2181(需要改这里)-->zookeeper://192.168.127.152:2181   ip改成 leader 的ip。
        dubbo.admin.root.password=root
        dubbo.admin.guest.password=guest
        
    9.1 重启Tomcat    
    //./shutdown.sh      ./startup.sh
        
    10  浏览器中登录。
        浏览器中输入本虚拟机的ip:8080  http://192.168.132.140:8080/
        输入账号密码登录。。。    
原文地址:https://www.cnblogs.com/ZXF6/p/11475324.html