在入门dubbo之前。
我们先得对分布式架构有一个基本的了解。
在这个背景下 才好慢慢理解dubbo RPC框架
大型互联网架构项目的目标
区别于传统项目,我们每天在用的大型互联网 像京东 百度 天猫 甚至微信。它有什么重要的指标和特性呢?
高性能
-
响应时间
-
并发数量:
并发连接数:客户端向服务端发起请求,每秒钟和服务器连接的总TCP数量
QPS:每秒的多少请求
TPS: 每秒多少个事务(完整的多个请求的集合)
(这里要分清qps和tps 一个tps是一次完整的访问是一个或者多个qps的整体)
高可用
所谓的高可用就是网站服务一直可以正常访问(搭建集群来实现万一一台服务器挂了可以不影响整体)
可伸缩
灵活的的增加/减少 硬件,提高/降低 处理能力
分布式和集群
很多人容易把这俩搞混 突然让你讲这俩有什么区别 容易懵逼。
其实用一个很好的例子来解释 最易懂:
-
集群:就是多个人一起干同一件事情 注意是同一件事情 ,如果我们俩做的不是一件事 就不是集群了
-
分布式:多个人干不一样的事情, 注意是不一样的事情。讲 一个业务场景 拆成独立的 几个服务模块 每个模块承担不同的任务。
所以分布式框架,就是在传统架构的基础上,将公共模块抽取出来,作为独立的服务,供其他调用者消费,以实现服务的共享和重用。
RPC
remote procedure call :远程过程调用。
它是一种宏观的说法,有很多技术都可以实现rpc 比如http rest风格
比如 java的 RMI规范,比如dubbo框架。