博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
性能测试二十七:环境部署之Dubbo原理
阅读量:4325 次
发布时间:2019-06-06

本文共 911 字,大约阅读时间需要 3 分钟。

Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。

Dubbo是框架,并不是像http那种传输协议

 

传统系统间通信方式:

系统A和系统B之间耦合性非常大,系统A配置文件里面基本会把系统B的所有接口写进去,若果系统B有多个tomcat,中间还得配个Nginx,若经常有机器增减,Nginx配置也要经常改,扩展起来非常麻烦

如果A系统要调用B系统里面的函数,只能通过http接口去调,数据传输需要转换成json,返回来再把json转成对象,而转json对性能损耗非常大

 比如:JdbcTest(系统A)要去调JavaVuser(系统B)下的JdbcTest里面的方法

 

 

 Dubbo框架

zookeeper的作用:

1、配置管理

2、负载均衡

可以把zookeeper理解为一个类似于mysql的数据库,主不过里面存的不是表,而是系统B的ip、端口号、url

当项目B启动的时候,会自动的把项目B的ip、端口号、url全部写入到zookeeper中

当A需要调B里面的接口的时候,就不用去连接B,只需要去zookeeper找到B接口,再去找ip、端口号,然后通过TCP进行通信,而不是http

当同一个接口,有多个ip和端口号的时候(项目B布了多台机器),zookeeper也是采用轮询的策略

所以,Dubbo框架中,就用zookeeper,不需要使用Nginx

想要使用Dubbo框架,需要系统A和系统B去zookeeper里面写入数据(可以把此过程叫注册),留下ip、端口号

所以每Dubbo框架里面,每一个系统都有一个配置文件,配的是zookeeper的ip和端口号

 zookeeper有一个心跳机制,如系统B部署了5个机器,zookeeper每秒钟检测一次,发现有3台机器没有响应了,就视为挂了,会自动去掉这几个的ip

zookeeper提供了一个管理工具:dubbo-admin,类似于navicat连接数据库一样

转载于:https://www.cnblogs.com/malinalian/p/10583089.html

你可能感兴趣的文章
Java设计模式系列之中介者模式
查看>>
eclipse编译时过滤SVN版本控制信息方法(转)
查看>>
CSS3中使用calc()设置宽度和高度
查看>>
泉五培训Day5
查看>>
理解constructor属性
查看>>
java学习 java 的继承机制 暑假第三天
查看>>
计算机基础(计算机专业)
查看>>
人人必知的10个 jQuery 小技巧
查看>>
【坦克大战】Unity3D多人在线游戏(泰课的坦克大战--旋转的螺丝钉)
查看>>
Android 开发BottomNavigationView学习
查看>>
unix-poll
查看>>
anaconda+youcompleteme
查看>>
HLS: High-Level Synthesis Operators
查看>>
消息队列Rabbit安装
查看>>
在 EF 中只对 日期(不包括时间)进行比较的方法
查看>>
C#关于等待窗体(转)
查看>>
CockroachDB学习笔记——[译]Cgo的成本与复杂性
查看>>
JS数组经典冒泡排序
查看>>
【leetcode】Trapping Rain Water(hard)
查看>>
关键字 static
查看>>