Dubbo
基础概念理解
- 什么是分布式框架
若干独立系统的集合,但是用户使用起来像是在使用一套系统
- 为什么需要分布式系统
规模逐步扩大和业务复杂,单台扛不住, 三个臭皮匠抵个诸葛亮
- 应用架构发展演变
1、 单一架构
优点:开发简单、部署简单
缺点:扩展不容易(怎么处理日益增长的流量)、维护不容易、性能提升难
2、垂直应用架构
按业务拆分
优点:扩展容易
缺点:无法解决业务间相互调用 (订单服务器和用户服务器…)
3、分布式架构 RPC(远程过程调用)
将业务拆分后,用某种方式实现各个业务模块的远程调用和复用,这时一个好的RPC框架决定了你的分布式架构的性能。怎么调用、何时调用、服务器挂了怎么办? 需要框架解决这些问题
-
为啥Dubbo说自己性能高
既然Dubbo是RPC框架,主要干的就是远程过程调用,那么提升性能就要从最关键最耗时的两方面入手:序列化和网络通信
序列化:序列化方案很多,xml/json/二进制流…,Dubbo采用效率最高的二进制
网络通信:不同于HTTP需要七步走(3握手4挥手),Dubbo采用Socket通信机制,在TCP的传输层,并且可以建立长连接
Dubbo概述
三大核心能力:面向接口的远程方法调用、智能容错和负载均衡、服务自动注册和发现
0:容器(spring)启动 1:提供者注册服务到注册中心(管理治理服务),2:订阅 3:通知 4:调用 5:图形化管理中心dubbo-admin