- 分布式
- 分布式的特点
- 分布式系统关键组件
- 基于Redis的分布式缓存
- 分布式的发展历程
- 分布式的系统特性
- 分布式系统常见问题
- 缓存的种类
- 分布式缓存
简单说就是多个服务器去处理一个任务,完成任务的速度更快。
分布式的特点- 高吞吐
- 强扩展
- 高并发
- 低延迟
- 灵活部署
分布式中间件
中间件介绍:位于 *** 作系统软件和应用软件之间,具有良好的独立性。
我们可以理解为:是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。中间件是一类软件统称,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互 *** 作。
常用的中间件:Redis(缓存),RabbitMQ(消息队列),ZooKeeper(协调服务)
- Redis:基于内存存储,采用key-value(键值对)格式存储的。内存数据库支持多种数据类型(包括:哈希表,列表,集合和位图)
- Reddission:是架设在Redis基础上的一个Java驻内存数据网络,可以理解成Redission是Redis的一个升级版。Redission是更适合java开发
- RabbitMQ:发送消息的中间件。发送消息的目的是进行同步。
- Zookeeper:类似于前台的的作用。主要是起协调服务。他的功能包括配置维护,域名维护,分布式同步等,为分布式提供一致性服务。
-
单点集中式web应用
特点是:将数据库和文件存储共同部署在同一台服务器上 -
应用与文件服务及数据库单独拆分
特点:将数据库,文件存储以及服务器放在三台机器上 -
引入缓存与集群改善整体性能
特点:- 引入多个服务器用户通过负载均衡(是指合理利用服务器,让每一个服务器都工作,防止出现一个服务器工作,其他服务器都不工作的现象)访问服务器
- 引入Redis(目的是减少数据库的压力),MySQL是一个硬件版的数据库。Redis是一个内存版的数据库(CPU从内存读数据要比硬盘快)
-
数据库读写分离,并提供反向代理以及CDN访问服务器
特点:- 把读写放在不同机器上。数据库读写分离提高数据库的存储性能
- CDN加速访问服务是构建现有网络的基础上的智能虚拟网络,依靠部署在各地的边缘服务器,使用户就近的获取所需内容降低网络拥堵,提高用户访问响应速度和命中率)
- 正向代理:客户端的请求被代理服务器替换进行请求
- 反向代理:隐藏了真实的服务端。反向代理的是服务端
5. 分布式文件系统与分布式数据库
分库,分表(根据业务来拆分数据库)
分布式的系统特性- 内聚性,透明性
- 可扩展性
- 可用于可靠性
- 高性能
- 一致性
- 网络不可靠,出现丢包现象
- 节点故障无法避免
缓存指的是将需要频繁访问的数据存放在内存中,来加快用户访问速度的一种技术。
缓存分为进程级缓存和分布式缓存
- 进程级缓存:将数据缓存在服务内部,通过map,list等结构实现存储。他的缺点也很明显只能在一台设备上 *** 作
- 分布式缓存:将数据单独存放在分布式系统(可以是很多台)。
进程内缓存与分布式缓存(redis)比较
分布式缓存相对于传统的进程级缓存而言分布式缓存功能比较完善,一般情况下直接使用它即可。
在写请求时,会先写到数据库中,再写入缓存中
在读请求时,会先写到缓存中,再写入数据库中
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)