19分布式Dubbo和Zookeeper+Springboot
阿里云,腾讯云等
一、分布式理论
什么是分布式系统:
我们应不应该先考虑分布式系统?:不应该!
集群与分布式的区别:https://zhuanlan.zhihu.com/p/95288580
二、Dubbo文档【Dubbo底层原理Netty】
官网:https://dubbo.apache.org/zh/
背景
本文介绍了网站应用的演进
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。
单一应用架构
当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。
垂直应用架构
当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,提升效率的方法之一是将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。
分布式服务架构
当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的**分布式服务框架(RPC)**是关键。
流动计算架构
当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。
二、什么是RPC?
RPC两个核心:通讯,序列化
-
通讯是为了传输,用http协议传输也可以【是后面讲的SpringCloud【实际开发用的多】~中的RESTFul风格】
-
序列化是为了方便我们的数据传输【数据的传输需要转换】
-
-
两个协议本质是没有区别的,就是功能有所区别
推荐阅读文章:https://www.jianshu.com/p/2accc2840a1b
步骤解析:
-
2.序列化:网络传输需要序列化
-
4.反序列化:服务端进行
三、Dubbo
简述:RPC做的事不用自己来做了,Dubbo来帮你解决
配置文件六行即可
Dubbo和SpringCloud【现在用的更多】区别
- SpringCloud是http协议传输,
- Dubbo注重PRC~,而SpringCloud注重的是生态
- 论远程过程调用,Dubbo更加专业,但是也不靠谱【因为收到网络影响】
Dubbo基础概念
Dubbo环境搭建【其实就是一个jar包】
点Dubbo官方文档,推荐我们使用Zookeeper注册中心:https://dubbo.apache.org/zh/docs/v2.7/user/references/registry/
zookeeper(动物管理者):hadoop,hive~
window安装Zookeeper【注册中心:简单说就是存值取值】
1.下载Zookeeper:http://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
2.运行/bin/zkServer.cmd【初次运行会报错,conf下没有zoo.cfg配置文件】
-
复制一份
zoo-sample.cfg
改名
-
cmd扩展名是windows下,sh扩展名是linux下
3.如何让tomcat或者Zookeeper永久启用,把对应端口永久占用着——>变成一个后台服务即可
- 如mysql——在bin路径下进入cmd——输入
mysql -install
即可注入到服务中,就可以在服务中开启与关闭操作了
4.使用zkCli.cmd进行测试
window安装dubbo-admain【可视化的监控程序】
- 是一个监控管理后台查看我们注册了那些服务,那些服务被消费了
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复