本文目录
zookeeper分布式锁原理?
zookeeper实现分布式锁的原理就是多个节点同时在一个指定的节点下面创建临时会话顺序节点,谁创建的节点序号最小,谁就获得了锁。
并且其他节点就会监听序号比自己小的节点,一旦序号比自己小的节点被删除了,其他节点就会得到相应的事件,然后查看自己是否为序号最小的节点,如果是,则获取锁。
小龙云盘的原理?
小龙云盘是一款基于云计算和分布式文件存储技术的网络存储产品。它把用户上传的数据分散存储在多台服务器上,并通过特定的算法对这些数据进行切分、加密和备份,以提高可靠性、安全性和可扩展性。
其大致工作原理如下:
1. 用户上传文件:用户在小龙云盘网站或客户端上选择要上传的文件,并提交到后台服务器进行处理。
2. 文件分块:后台服务器将上传的文件按照一定大小进行分块,每块大小通常为几百KB到几MB之间,不同的块使用不同的编号进行标识。
3. 分块加密:对于每个分块,采用AES等加密算法进行加密保护,确保数据隐私和机密性。
4. 存储与备份:加密后的数据块同时存储在多台服务器上,并使用冗余备份技术确保数据不会因为单个服务器出现问题而丢失。
5. 访问与下载:当用户需要下载文件时,在后台系统的支持下,将加密后的数据块按照事先约定好的规则重新组装成原始文件,并提供给用户下载或在线预览。
总之,小龙云盘通过利用云计算和分布式文件存储技术,实现了海量数据的存储和可靠、安全、高效的共享,为用户提供了一个方便、快捷和透明的云端存储服务。
云计算原理及讲解?
云计算是一种基于互联网的计算方式,通过将服务器、存储、网络等计算资源整合起来,供用户按需使用,从而实现资源共享和灵活使用。云计算的核心特点包括虚拟化、弹性伸缩、自动化管理、按需付费等。
云计算基本原理如下:
1. 虚拟化技术:通过虚拟化技术,将物理服务器等计算资源分割成多个虚拟实例,每个虚拟实例都可以独立运行操作系统、应用程序等,从而实现资源的高效利用。
2. 分布式计算技术:云计算系统中的计算、存储、网络等资源都是分布在不同的服务器上,通过分布式计算技术,实现对这些资源的协同管理和利用。
3. 自动化管理:云计算系统采用自动化管理技术,通过自动化程序进行资源的配置、部署、监控、维护等管理工作,从而减少人力和时间成本。
4. 弹性伸缩:云计算系统能够根据用户需求,自动调整资源的数量和配置,以满足不同用户的需求,从而实现按需服务。
5. 按需付费:云计算系统提供按需付费的服务模式,用户只需要按照实际使用的资源数量和时间付费,而不需要承担固定的硬件设备、网络带宽等成本。
总体来说,云计算的目标是实现资源的高效利用,降低 IT 成本,提升 IT 服务质量和效率,为企业带来更高的竞争力。
分布式事务saga框架原理?
Saga是一个长活事务可被分解成可以交错运行的子事务集合。其中每个子事务都是一个保持数据库一致性的真实事务。通俗来说,这个长活事务是由多个本地事务所组成, 每个本地事务有相应的执行模块和补偿模块,当saga事务中的任意一个本地事务出错了, 可以通过调用相关事务对应的补偿方法恢复,达到事务的最终一致性。
redisson分布式锁原理讲解?
1、加锁机制
线程去获取锁,获取成功: 执行lua脚本,保存数据到redis数据库。
线程去获取锁,获取失败: 一直通过while循环尝试获取锁,获取成功后,执行lua脚本,保存数据到redis数据库。
2、watch dog自动延期机制
这个比较难理解,找了些许资料感觉也并没有解释的很清楚。这里我自己的理解就是:
在一个分布式环境下,假如一个线程获得锁后,突然服务器宕机了,那么这个时候在一定时间后这个锁会自动释放,你也可以设置锁的有效时间(不设置默认30秒),这样的目的主要是防止死锁的发生。
3、为啥要用lua脚本呢?
这个不用多说,主要是如果你的业务逻辑复杂的话,通过封装在lua脚本中发送给redis,而且redis是单线程的,这样就保证这段复杂业务逻辑执行的原子性 。