![](https://img-blog.csdnimg.cn/20201209210946554.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
分布式
文章平均质量分 72
分布式
宇宙超级无敌程序媛
Talk is cheap, show me the code.
展开
-
面试——一文搞懂分布式锁
一、基于数据库实现 1、这把锁强依赖数据库的可用性,数据库是一个单点,一旦数据库挂掉,会导致业务系统不可用。 2、这把锁没有失效时间,一旦解锁操作失败,就会导致锁记录一直在数据库中,其他线程无法再获得到锁。 3、这把锁只能是非阻塞的,因为数据的insert操作,一旦插入失败就会直接报错。没有获得锁的线程并不会进入排队队列,要想再次获得锁就要再次触发获得锁操作。 4、这把锁是非重入的,同一个线程在没有释放锁之前无法再次获得该锁。因为数据中数据已经存在了。4)锁的长时...原创 2021-09-08 14:40:06 · 161 阅读 · 0 评论 -
Nginx
一、介绍(一)概念Nginx是一个 轻量级/高性能的反向代理Web服务器。异步非阻塞。(二)应用场景http服务器 虚拟主机 反向代理、负载均衡 解决跨域问题(三)原理nginx接收一个请求后,首先由listen和server_name指令匹配server模块,再匹配server模块里的location,location就是实际地址 server { # 第一个Server区块开始,表示一个独立的虚拟主...原创 2021-08-24 14:51:38 · 77 阅读 · 0 评论 -
计算机网络 —— IO && NIO
一、IO(一)字节流(8bit)InputStream、Outputstream。按字节读写,不会用到缓存。只是读写文件,和文件内容无关的,一般选择字节流。(二)字符流(16 bit)reader、writer按字符读写,用到了缓存。在读写文件需要对内容按行处理,比如比较特定字符,处理某一行数据的时候一般会选择字符流。 二、NIO...原创 2021-08-24 11:50:17 · 177 阅读 · 0 评论 -
Java —— 线程
一、定义(一)进程进程是程序在一个数据集上的一次动态执行的过程,是系统进行资源分配和调度的一个独立单位。(二)线程是进程的一个实体,是cpu调度和分派的基本单位,他是比进程更小的能够独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源。(三)区别一个线程只能属于一个进程,而一个进程可以拥有多个线程。 线程是进程工作的最新单位。 一个进程会分配一个地址空间,进程与进程之间不共享地址空间。即不共享内存。 同一个进行下的不...原创 2021-08-21 20:21:40 · 287 阅读 · 0 评论 -
分布式 —— 负载均衡算法
算法 简介 优点 缺点 轮询 将请求按顺序轮流地分配到每个节点上 简单,易于水平扩展 没有考虑机器的性能问题,集群性能瓶颈更多的会受性能差的服务器影响。 加权轮询 在轮询的基础上,给配置高、当前负载低的机器配置更高的权重 将不同机器的性能纳入到考量,集群性能最大化 生产环境复杂多变,服务器能力无法精确估算,静态算法导致无法实时动态调整,只能粗糙优化。 随机 将请求随机分配到各个节点。随着客户端调用服务端的次数增多,其实际效果越来越接近于原创 2021-08-11 21:17:10 · 224 阅读 · 0 评论 -
ElasticSearch —— 基础知识汇总
一、ElasticSearch介绍一个主要应用于大数据场景下的近实时的全文搜索引擎。 近实时:从添加一个文档到能搜索到这个文档,有一个微小的延迟(通常是1s)。二、ES核心 —— 倒排索引倒排索引是类似于哈希表一样的数据结构,完成由词条到文档id的映射。可以根据搜索词条快速找到该词条对应的所有文档id,然后根据id直接获取文档。三、基础概念(一)集群一个集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一...原创 2021-08-10 17:30:31 · 764 阅读 · 0 评论