一、是么是 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/ 输入账号密码登录。。。