Dubbo浅谈
一.高并发的解决
1.高并发:很多人同时访问。
2.高并发产生的性能瓶颈:
tomcat支持的controller,解决办法:多个tomcat共同支撑。(tomcat集群)
只有一个service被调用,解决办法:多个service共同支撑。
只有一个数据库被访问,解决办法:多个数据库共同支撑。
二.dubbo用来解决业务层的瓶颈问题(由一变多,解决负载均衡)
1.官网:dubbo.io
2.引出dubbo
随着网络科技的发展,架构程序也由单一应用架构(1-10人)→ 垂直应用架构 (10-1000人)→ 分布式服务架构(1000-10000人)
在分布式架构中采用的原理是,将业务层单独提炼出来,以远程业务的方式提供。以http或https的方式进行调用,一般使用XML的形式进行交互(XML就是一种序列化工具,与远程的业务端,采用XML的方式进行传递)。由于是远程的,服务器可以多个。可此阶段有明显的缺点:无法保证服务器之间的访问次数是平均的,明显分配不均。
而dubbo就解决了分布不均的问题,并且可以远程调用。由此引出了我们此时正处于的阶段→流动计算架构。对访问次数进行计算,做成平均分配访问---也就是负载均衡。
3.

Container:即dubbo容器,dubbo容器是spring的子容器。
Provider:服务提供者,用于发布服务,以及提供服务。
Consumer:服务消费者,即服务调用者。
Registry:注册中心,主要用于存储服务提供者的服务地址。
Monitor:监控中心,主要用于记录服务调用的次数。

三.zookeeper(注册中心)
1.Zookeeper是hadoop系列中的一个组件,用于协调服务。在此,充当dubbo的注册中心。
2.zookeeper的安装
- 2.1单机安装
2.1.1 步骤 :解压、添加zoo.cfg文件、启动
2.1.2 步骤 :解压、添加zoo.cfg文件、启动
ll:表示显示当前目录下的文档详细信息(包括权限、所属用户和组、大小、时间、名称等)
mkdir:表示创建目录
tar zxvf:表示解压
- C 表示移动到哪个目录

2.1.3 步骤 :添加zoo.cfg文件
在zookeeper/conf/zoo_sample.cfg文件,将此文件复制或重命名为zoo.cfg即可
cd:表示切换到那个目录下
ls :表示只显示当前目录下的文档名。
cp :表示复制

2.1.4 步骤 :启动
启动脚本zookeeper/bin/zkServer.sh
pwd:表示显示当前路径
ps -ef | grep zookeeperps:将某个进程显示出来
-A 显示所有程序。
-e 此参数的效果和指定"A"参数相同。
-f 显示UID,PPIP,C与STIME栏位。
grep命令是查找
中间的|是管道命令 是指ps命令与grep同时执行
这条命令的意思是显示有关Apachejetspeed有关的进程status :表示显示状态
jps: 表示查看java当前进程

- 2.2集群安装
2.2.1 步骤
创建zkCluster目录,用于安装zookeeper集群
创建数据文件data目录
在data目录中,创建myid文件,指定集群服务编号
修改zoo.cfg文件,配置集群
复制配置成功的文件,共计三分
启动
Dubbo浅谈的更多相关文章
- 浅谈微服务架构与服务治理的Eureka和Dubbo
前言 本来计划周五+周末三天自驾游,谁知人算不如天算,周六恰逢台风来袭,湖州附近的景点全部关停,不得已只能周五玩完之后,于周六踩着台风的边缘逃回上海.周末过得如此艰难,这次就聊点务虚的话题,一是浅谈微 ...
- 浅谈WebService的版本兼容性设计
在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...
- 【架构】浅谈web网站架构演变过程
浅谈web网站架构演变过程 前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变. 该系统具备的功能: 用户模块:用户注册和管理 商品模块:商品展示和管 ...
- 微服务浅谈&服务治理的演变过程
这两天对互联网的架构演变进行了简单了解,并对微服务的出现很感兴趣,所以对相关知识进行了简单的整理与总结. 本篇文章先简单介绍了互联网架构的演变,进而介绍了服务化,最后介绍了微服务及最新的服务网格(Se ...
- 浅谈服务治理、微服务与Service Mesh(三) Service Mesh与Serverless
作为本系列文章的第三篇(前两篇<浅谈服务治理.微服务与Service Mesh(一)Dubbo的前世今生>,<浅谈服务治理.微服务与Service Mesh(二) Spring Cl ...
- 浅谈 Fragment 生命周期
版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...
- 浅谈 LayoutInflater
浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...
- 浅谈Java的throw与throws
转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...
- 浅谈SQL注入风险 - 一个Login拿下Server
前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...
随机推荐
- CRM WEB UI 02搜索跳转到详细界面
结合上一个,在上一个中,创建的是选择链接字段EBELN. 下面来实现点击EBELN跳转到详细界面: 1.创建ZLYTEST03_H组件,做详细界面. 2.创建概览页 DETOV. 3.创建视图集 DE ...
- C# 3.0 / C# 3.5 Lambda 表达式
概述 Lambda 表达式的本质就是匿名函数.(而匿名方法的本质是委托) “Lambda 表达式”是一个匿名函数,可以包含表达式和语句,并且可用于创建委托或表达式树类型. (Lambda 表达式的运算 ...
- python中RabbitMQ的使用(工作队列)
消息可以理解为任务,消息发送者可以看成任务派送者(sender),消息接收者可以看成工作者(worker). 当工作者接收到一个任务,还没完任务时分配者又发一个任务,此时需要多个工作者来共同处理这些任 ...
- Hadoop---静动态增删节点
静动态增删节点 初始: 这是我现在的集群 重新克隆一个虚拟机: hadoop44:datanode(静态增加,删除和动态删除) hadoop55:datanode(动态hdfs添加,yarn动态增删) ...
- 【转】JavaScript => TypeScript 入门
几个月前把 ES6 的特性都过了一遍,收获颇丰.现在继续来看看 TypesScript(下文简称为 “TS”).限于经验,本文一些总结如有不当,欢迎指正. 官网有这样一段描述: TypeScript ...
- Windows和Linux创建软链接和硬链接
1.Wondows创建软链接和硬链接 mklink [/d] [/h] link target /d--创建目录软链接:默认为文件软链接:创建目录链接时必须使用该选项不然创出的软链接无效 /h--创建 ...
- qml 设置tooltip,Customizing ToolTip
Button { id: btn text: "Tip" anchors.horizontalCenter: pa ...
- python vue 项目
http://www.jianshu.com/p/fe74907e16b9 mac 电脑,亲测可以,可以看下开源的写法及思路
- UVA 11990 `Dynamic'' Inversion CDQ分治, 归并排序, 树状数组, 尺取法, 三偏序统计 难度: 2
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...
- http协商缓存VS强缓存
之前一直对浏览器缓存只能描述一个大概,深层次的原理不能描述上来:终于在前端的两次面试过程中被问倒下,为了泄恨,查阅一些资料最终对其有了一个更深入的理解,废话不多说,赶紧来看看浏览器缓存的那些事吧,有不 ...