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

最新文章

  1. 关于apache httpd.conf脚本的理解
  2. PHP页面跳转
  3. 利用开源项目使discus论坛与java应用同步登录和注册
  4. android开发无障碍app
  5. BZOJ3156: 防御准备
  6. 用过滤器和装饰者设计模式(静态代理)解决getParameter乱码问题
  7. canvas绘制圆形进度条(或显示当前已浏览网页百分比)
  8. 7.spark共享变量
  9. Vue.js(一)了解Vue
  10. 初探云服务器ECS(Linux系统)
  11. Prometheus Operator 架构 - 每天5分钟玩转 Docker 容器技术(178)
  12. 查看mysql库中所有表的信息--INFORMATION_SCHEMA
  13. POJ1062昂贵的聘礼(经典) 枚举区间 +【Dijkstra】
  14. 003.Ansible基础使用
  15. linux curl命令如何上传本地文件夹和下载文件
  16. 如何成为一名合格的CTO?(转)
  17. C++ 将数据转为字符串的几种方法
  18. vc11(vs2012)下编译php源码
  19. [ios][map]自定义地图标注
  20. seo-摘自网友

热门文章

  1. 【LeetCode】470. Implement Rand10() Using Rand7() 解题报告(Python & C++)
  2. B. Destroying Roads
  3. 第四十个知识点 一般来说SPA和DPA的区别是什么
  4. [opencv]拟合vector&lt;Mat&gt;集合区域接近的元素
  5. Linux远程操作
  6. Android开发案例 设置背景图片轮播
  7. Linux_接收文件(rz)和发送文件(sz)
  8. python 字典 分别根据值或键进行排序的方法
  9. Jenkins_构建任务提示文件权限不足的处理方法
  10. SQL高级优化(五)之执行计划