分布式以及分布式的发展历程和代理以及中间件的介绍

分布式以及分布式的发展历程和代理以及中间件的介绍,第1张

分布式以及分布式的发展历程和代理以及中间件的介绍

这里写目录标题
  • 分布式
    • 分布式的特点
    • 分布式系统关键组件
    • 基于Redis的分布式缓存
      • 分布式的发展历程
    • 分布式的系统特性
    • 分布式系统常见问题
    • 缓存的种类
      • 分布式缓存

分布式

简单说就是多个服务器去处理一个任务,完成任务的速度更快。

分布式的特点
  • 高吞吐
  • 强扩展
  • 高并发
  • 低延迟
  • 灵活部署
分布式系统关键组件

分布式中间件

中间件介绍:位于 *** 作系统软件和应用软件之间,具有良好的独立性。
我们可以理解为:是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。中间件是一类软件统称,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互 *** 作。

常用的中间件:Redis(缓存),RabbitMQ(消息队列),ZooKeeper(协调服务)

  • Redis:基于内存存储,采用key-value(键值对)格式存储的。内存数据库支持多种数据类型(包括:哈希表,列表,集合和位图)
  • Reddission:是架设在Redis基础上的一个Java驻内存数据网络,可以理解成Redission是Redis的一个升级版。Redission是更适合java开发
  • RabbitMQ:发送消息的中间件。发送消息的目的是进行同步。
  • Zookeeper:类似于前台的的作用。主要是起协调服务。他的功能包括配置维护,域名维护,分布式同步等,为分布式提供一致性服务。
基于Redis的分布式缓存 分布式的发展历程
  1. 单点集中式web应用
    特点是:将数据库和文件存储共同部署在同一台服务器上

  2. 应用与文件服务及数据库单独拆分
    特点:将数据库,文件存储以及服务器放在三台机器上

  3. 引入缓存与集群改善整体性能
    特点:

    • 引入多个服务器用户通过负载均衡(是指合理利用服务器,让每一个服务器都工作,防止出现一个服务器工作,其他服务器都不工作的现象)访问服务器
    • 引入Redis(目的是减少数据库的压力),MySQL是一个硬件版的数据库。Redis是一个内存版的数据库(CPU从内存读数据要比硬盘快)
  4. 数据库读写分离,并提供反向代理以及CDN访问服务器
    特点:

    • 把读写放在不同机器上。数据库读写分离提高数据库的存储性能
    • CDN加速访问服务是构建现有网络的基础上的智能虚拟网络,依靠部署在各地的边缘服务器,使用户就近的获取所需内容降低网络拥堵,提高用户访问响应速度和命中率)
    • 正向代理:客户端的请求被代理服务器替换进行请求
    • 反向代理:隐藏了真实的服务端。反向代理的是服务端


5. 分布式文件系统与分布式数据库

分库,分表(根据业务来拆分数据库)

分布式的系统特性
  • 内聚性,透明性
  • 可扩展性
  • 可用于可靠性
  • 高性能
  • 一致性
分布式系统常见问题
  • 网络不可靠,出现丢包现象
  • 节点故障无法避免
缓存的种类

缓存指的是将需要频繁访问的数据存放在内存中,来加快用户访问速度的一种技术。
缓存分为进程级缓存和分布式缓存

  • 进程级缓存:将数据缓存在服务内部,通过map,list等结构实现存储。他的缺点也很明显只能在一台设备上 *** 作
  • 分布式缓存:将数据单独存放在分布式系统(可以是很多台)。

进程内缓存与分布式缓存(redis)比较

分布式缓存

相对于传统的进程级缓存而言分布式缓存功能比较完善,一般情况下直接使用它即可。

在写请求时,会先写到数据库中,再写入缓存中
在读请求时,会先写到缓存中,再写入数据库中


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4685294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-07
下一篇 2022-11-07

发表评论

登录后才能评论

评论列表(0条)

保存