- 博客(27)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 分布式锁实现方案--redis、zookeeper、mysql
因为我这里是以三个节点为例。锁key的值附加唯一性:针对释放别人锁这种问题,我们可以给每个客户端进程设置【唯一ID】,作为锁(所有客户端锁key相同)的值,这样我们就可以在应用层就进行检查唯一ID。我们了解下什么是【可重入】:指的是同一个线程在持有锁的情况下,可以多次获取该锁而不会造成死锁,也就是一个线程可以在获取锁之后再次获取同一个锁,而不需要等待锁释放。InterProcessMultiLock:将多个锁作为单个实体管理的容器,获取锁的时候获取所有锁,释放锁也会释放所有锁资源(忽略释放失败的锁)。
2024-08-13 11:19:48 1185 1
原创 大模型技术系列1--人工智能(AI)简介及发展历程
人工智能相关概念人工智能(AI) : AI 有不同的定义,但其中一个定义或多或少已成为共识,即 AI 是一类计算机系统,它能够执行通常需要人类智能才能完成的任务。根据这个定义,许多算法可以被归为 AI 算法,例如导航应用程序所用的交通预测算法或策略类视频游戏所用的基于规则的系统。从表面上看,在这些实例中,计算机似乎需要智能才能完成相关任务。机器学习(machine learning,ML):是 AI 的一个子集。在 ML 中,我们不试图直接实现 AI 系统使用的决策规则。相反,我们试图开发算法,
2024-05-30 17:07:55 415
原创 mysql
type为“ALL”,表示没有使用到索引,查询时间为 3.62 秒,查询效率较之前低很多。简单说就是,覆盖索引 指 索引列+主键包含 SELECT 到 FROM之间查询的列,此时通过索引即可获取所需列的数据,不需要再回表去读取行了。理解方式一:索引是高效找到行的一个方法,但是一般数据库也能使用索引找到一个列的数据,因此它不必读取整个行。毕竟索引叶子节点存储了它们索引的数据;当能通过读取索引就可以得到想要的数据,那就不需要读取行了。一个索引包含了满足查询结果的数据就叫做覆盖索引。理解方式二。
2024-05-13 20:56:43 645
原创 大模型微调
ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。
2024-05-07 17:41:44 607
原创 java基础--java核心包-Map
对任意长度的输入,得到定长输出若太高(如1),空间利用率得到了很大满足,但很容易发生hash冲突,产生链表,导致查找效率较低。(时间问题)若太低(如0.5),发生hash冲突概率降低了,查找效率较高,但空间利用率较低。(空间问题)设置为0.75,在空间和时间上进行了折中处理,比较合理地兼顾了时间和空间。
2023-05-05 14:23:38 1622
原创 高并发技术---锁--AQS(AbstractQueuedSynchronizer)功能及源码解析
AQS功能AQS源码解析AQS实现类参见AbstractQueuedSynchronizer解析等等
2023-04-20 18:59:19 85
原创 高并发技术---锁
可重入锁和不可重入锁详解Reentrant = Re + entrant,Re是重复、又、再的意思,entrant是enter的名词或者形容词形式,翻译为进入者或者可进入的,所以Reentrant翻译为可重复进入的、可再次进入的,因此ReentrantLock翻译为重入锁或者再入锁。可重入锁又叫递归锁,指的是可重复可递归调用的锁。当同一个线程在外层方法获取对象锁(见下例run方法的try{lock.lock()})之后,再进入该线程的内层方法递归获取相同的。
2023-04-20 12:40:46 136
原创 深入分析集群安全机制
kubernetes通过一系列机制来实现集群的安全控制,其中包括API Server的认证授权、准入控制机制及保护敏感信息的Secret机制等。集群的安全性必须考虑如下几个目标:1、保证容器与其所在宿主机的隔离2、限制容器给基础设施或其他容器带来的干扰3、最小权限原则—合理限制所有组件的权限,确保组件只执行它被授权的行为,通过限制单个组件的能力来限制它的权利范围4、明确组件间边界的划分5、划分普通用户和管理员的角色6、在必要时允许将管理员权限赋予给普通用户。
2022-12-20 21:58:09 396
原创 kubernetes 核心组件的运行机制
Kubernetes API Server通过一个名为kube-apiserver的进程提供服务,是单进程的服务。该进程运行在Master上,。在默认情况下,kube-apiserver进程在本机的8080端口(对应参数–insecure-port=8080)提供REST服务。同时启动HTTPS安全端口(–secure-port=6443)来启动安全机制,加强REST API访问的安全性。
2022-11-08 10:28:00 484
原创 CRI (容器运行时接口)详解
我们 称之为,其中最知名的就是 Docker。为了 更具扩展性, Kubernetes 1.5 版本开始就加入了。每个容器运行时都有特点,因此不少用户希望 Kubernetes 能够支持更多的容器运行时。Kubernetes从Docker 的 CRI 实现在 Kubernetes1.6 中被更新为 Beta 版本,并在 kubelet启动时默认启动。
2022-11-03 00:18:09 2861
原创 深入刨析Kubernetes
总之:dockers=LXC+AUFSdocker为LXC+AUFS组合:LXC负责资源管理AUFS负责镜像管理;而LXC包括cgroup,namespace,chroot等组件,并通过cgroup资源管理,那么,从资源管理的角度来看,Docker,Lxc,Cgroup三者的关系是怎样的呢?cgroup是在底层落实资源管理,LXC在cgroup上面封装了一层,随后,docker有在LXC封装了一层;
2022-11-03 00:17:21 582
原创 k8s简介
Pod运行在一个被称为节点(Node)的环境中, 这个节点既可以是物理机,也可以是私有云或者公有云 的一个虚拟机,在 个节点上能 够运行多个Pod;其次,在每个Pod中都运行着一个特殊的技称为Pause容器,其他容器则为业务容器,这些业务容器共享Pause容器的网络栈和Volum挂载卷。pod提供了强大的服务隔离能力,pod会被k8s调度运行到集群的某个主机上,对外提供服务。可以为pod设置多个不同标签,以为pod进行识别和分组。
2022-10-26 17:18:18 2438 1
原创 k8s clusterip 方式service负载均衡实现三种方式及原理
kube-proxy当前实现了三种代理模式:userspace代理模式:v1.0及之前版本的默认模式,来回在用户空间和内核空间切换,存在严重的性能问题,不推荐。iptables代理模式:从v1.1版本中开始增加了iptables mode,在v1.2版本中正式替代userspace模式成为默认模式。将k8s整个集群的service和endpoints路由都写到iptables中,当service数量较大时,同样存在严重的性能问题,且负载均衡能力比较简单,不推荐。IPVS代理模式:v1.9之后引入,通
2022-10-26 00:11:26 4464
原创 拜占庭将军问题、两将军问题、与TCP三次握手协议以及SSL认证、人脸识别认证的关系
拜占庭将军问题与两将军问题https://www.cnblogs.com/wuyuegb2312/p/4269505.html
2019-07-25 11:36:47 876
原创 事务--分布式事务解决方案
事务概念及特性参考资源事务ACID特性:https://blog.csdn.net/dengjili/article/details/82468576事务隔离级别:指的是读和写同时出现时出现的数据不一致问题。https://baijiahao.baidu.com/s?id=1611918898724887602&wfr=spider&for=pc总结事务的一...
2019-07-24 09:12:00 174
原创 Spring核心组件
Spring总共有十几个组件,但真正核心的只有三个:Core、Context和Bean。我们将从这三个组件入手来分析Spring。Spring三个核心组件之间的关系Spring之中最重要的当属Bean了,Spring实际上就是面向Bean的编程,Bean对于Spring的意义就好比Object对于OOP的意义一样。那么,三个核心组件之间是如何协同工作的呢?如果把Bean比作一场演出中的演员...
2019-07-18 12:44:37 201
原创 Spring 事件及监听模型
参考博客https://blog.csdn.net/zrudong/article/details/78567473。个人补充事件及监听原理:观察者模式观察者模式原理、优点。Spring框架的事件监听接口原理解析从这个图中我们可以大致的了解Spring事件驱动中的各个组件是如何协同一起完成事件的触发和事件的执行。ApplicationListener作为Spring事...
2019-07-18 12:07:35 165
原创 关于Redis雪崩、穿透及热点问题梳理及解决方案
缓存穿透概念缓存穿透是指查询一个一定不存在的数据,由于缓存不会命中,需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都去数据库查询,造成缓存穿透。在流量小时没有问题,如果流量非常大或有恶意攻击(意用户模拟请求很多缓存中不存在的数据,由于缓存中都没有,导致这些请求短时间内直接落在了数据库上,导致数据库异常),就会利用这个漏洞,使服务端(尤其是数据库)的压力增大,...
2019-05-22 16:24:42 287
关于某大数据项目技术选型的问题请教
2019-04-16
大数据项目技术选型问题请教
2019-04-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人