相关概念
分布式系统中的相关概念
集群和分布式
集群:多台机器做一个工作
分布式:多台机器共同完成
架构演进
单体架构
多模块放在一起
优点
- 方便开发部署
缺点
- 启动慢
- 可靠性差
- 可伸缩性差
- …
垂直架构
单体架构中的多个应用进行拆分,形成多个单体架构
缺点
- 重复功能多
分布式
在垂直架构基础上,将公共部分抽离出来
缺点
- 服务方发生改变,所有消费方都需要变更
SOA架构
是一个组件模型,将应用程序的不同功能单元进行拆分,并定义接口和契约以连接
微服务架构
特点
- 服务实现组件化
- 服务之间的交互一般使用REST API
- 去中心化
- 自动化部署
Dubbo概述
Dubbo概念
- 高性能,轻量级的javaRPC框架
- 提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案
Dubbo高级特性
dubbo高级特性
序列化
- dubbo内部已经将序列化和反序列化的过程内部封装了
- 只需要在定义pojo类时实现serializable接口即可
注册缓存
- dubbo服务消费者在第一次调用时,会将服务方地址缓存到本地,以后调用不会访问注册中心
- 当服务提供者地址发生变化时,注册中心会通知服务消费者
超时与重试
- 服务消费者在调用服务提供者时发生了阻塞、等待,这个时候会一直等待
- 在某个峰值,线程大量堆积,势必造成雪崩
- dubbo利用超时机制,一段时间内无法访问自动断开连接
多版本
负载均衡
策略
- Random:按权重随机
- RoundRobin:按权重轮询
- LeastActive:最少活跃调用数,相同活跃数的随机
- ConsistentHash:一致性hash,相同参数的请求总是发送到同一使用者
评论区
欢迎你留下宝贵的意见,昵称输入QQ号会显示QQ头像哦~