第一二单元
<p><strong>专高四笔记day1</strong></p>
<h1>oss对象存储</h1>
<h6>为什么使用oss对象存储:</h6>
<p>海量的存储能力
适合存储多种类型数据 图片、视频、音频、文档、日志文件</p>
<h6>oss优点</h6>
<ol>
<li>海量存储:支持大规模数据存储。</li>
<li>高可靠性:数据冗余备份,确保数据安全。</li>
<li>可扩展性:存储容量可随需求动态扩展。</li>
<li>高性能:高速读写,满足高并发访问。</li>
<li>安全性:提供多层次安全保障。</li>
<li>成本效益:灵活计费,降低存储成本。</li>
<li>易用性:提供API和图形化管理工具。</li>
<li>兼容性:与多种系统和平台兼容。</li>
<li>全球覆盖:支持全球范围内的数据存储和访问
<h1>通道</h1></li>
</ol>
<h6>有缓冲通道</h6>
<p>定义:有缓冲通道是一种在并发编程中使用的数据结构,它允许在数据生产者和消费者之间建立一个具有固定容量的缓冲区,用于暂时存储数据,从而提高数据传输的灵活性和效率,并确保并发安全</p>
<h6>无缓冲通道</h6>
<p>定义:无缓冲通道(Unbuffered Channel)是一种在并发编程中使用的通信机制,它不允许在数据生产者和消费者之间有任何中间存储。这意味着每次发送操作都必须等待一个对应的接收操作,反之亦然,从而确保数据的即时传递和同步</p>
<h1>死锁</h1>
<h6>产生死锁原因</h6>
<h6>互斥条件:</h6>
<p>进程对所分配到的资源进行排他性使用,即在一段时间内,某资源只能被一个进程占用。如果此时还有其他进程请求该资源,则请求进程只能等待,直至占有该资源的进程释放它。</p>
<h6>请求与保持条件:</h6>
<p>进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其他进程占有,此时请求进程被阻塞,但又对自己已获得的资源保持不放。</p>
<h6>不可抢占条件:</h6>
<p>进程已获得的资源在未使用完之前不能被抢占,只能在进程使用完时由自己释放。</p>
<h6>循环等待条件:</h6>
<p>若干进程之间形成一种头尾相接的循环等待资源关系,即存在一个进程链,使得每个进程都在等待下一个进程所占有的资源,而下一个进程又等待再下一个进程所占有的资源,以此类推,形成一个闭环。</p>
<h1>消息队列 Rabbitmq</h1>
<h6>定义</h6>
<p>RabbitMQ是一个实现了高级消息队列协议(AMQP)的开源消息代理软件,也被称为面向消息的中间件</p>
<h6>优点</h6>
<ol>
<li>
<p>消息可靠性:RabbitMQ 提供了持久化功能和消息确认机制,确保消息在各种情况下都能可靠地存储和处理</p>
</li>
<li>
<p>灵活的路由:通过多种交换机类型和绑定规则,RabbitMQ 能够灵活地路由消息到指定的队列</p>
</li>
<li>
<p>支持多种消息协议:实现了 AMQP 等(MQTT、STOMP)标准化、开放的消息队列协议,使其能够与多种语言编写的应用程序进行通信</p>
</li>
<li>
<p>插件化扩展:RabbitMQ 提供了丰富的插件系统,可以通过插件扩展功能,如死信队列、压缩、追踪等</p>
</li>
<li>
<p>高可用性:支持集群模式和镜像队列,确保服务的可用性</p>
</li>
<li>广泛的社区支持:拥有庞大的开发者社区和丰富的文档资源
<h1>三范式,反三范式</h1>
<h6>三范式定义:</h6>
<h5>第一范式(1NF):要求关系型数据库中的每个列都是原子的,即每列的值不能再分解成其他几列</h5>
<h5>第二范式(2NF):在满足第一范式的基础上,要求每个非主属性都完全依赖于主属性,即非主属性不能部分依赖于主键</h5>
<h5>第三范式(3NF):在满足第二范式的基础上,要求非主属性之间不存在传递依赖,即非主属性不能依赖于其他非主属性</h5>
<h6>反三范式定义:</h6>
<h5>没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,提高读性能,就必须降低范式标准,适当保留冗余数据</h5></li>
</ol>
<h1>什么是base64</h1>
<h6>Base64是一种基于64个可打印字符来表示二进制数据的编码方式</h6>
<h6>jpeg.decode解码</h6>
<h6>resize 压缩</h6>
<h1>CDN加速</h1>
<h6>CDN(Content Delivery Network)加速是一种通过将网站内容分发到全球各地的服务器,以提高网站加载速度的技术</h6>
<h1>优点</h1>
<ol>
<li>
<p>提高访问速度:通过将内容缓存到离用户最近的节点,CDN可以显著减少网络传输延迟,提高用户访问网站的速度</p>
</li>
<li>
<p>提高网站可靠性:CDN可以分散网站流量,避免单个服务器或地区的故障导致整个网站无法访问,从而提高网站的可靠性和稳定性</p>
</li>
<li>
<p>节省带宽:通过缓存静态内容,CDN可以减少源站的带宽消耗,降低运营成本</p>
</li>
<li>提高安全性:CDN可以提供更高级别的安全性,因为每个服务器都受到全球各地的其他服务器的保护,攻击者更难找到一个易受攻击的服务器</li>
</ol>