计算机基础
静谧之心
专业摩的佬
业余吉他手
退役喷子
展开
-
分布式共识(一致性)算法(协议) Paxos 简介
在分布式系统中,确保各节点间的数据一致性是核心挑战之一。Paxos算法,作为解决此问题的经典方法,通过分布式共识机制允许网络中的多数节点就某值达成一致,即便面对消息延迟、节点失效等复杂情形。Paxos算法以其高度的理论性和技术难度而闻名,但理解其基本思想并不难。原创 2024-09-09 14:05:00 · 342 阅读 · 0 评论 -
每期一个小窍门: 聊聊 pause 容器
综上所述,pause容器在Kubernetes Pod中起到了关键的基础设施作用,不仅保证了网络和进程的隔离性,还维护了Pod的生命周期和稳定性。这些特点使得pause容器成为Kubernetes中不可或缺的一部分,对于理解Pod的工作原理至关重要。pause容器在Kubernetes中的作用非常重要,它负责维护。,确保Pod内部不同容器间的。原创 2024-09-03 21:17:44 · 456 阅读 · 0 评论 -
虚拟机的四种网络模式对比
nat网络地址转换nat网络桥接内网模式仅主机。原创 2024-02-23 13:32:47 · 402 阅读 · 0 评论 -
每期一个小窍门: mysql的四个系统库的作用
“information_schema”是 MySQL 系统自带的数据库,主要保存 MySQL 数据库服务器的系统信息,比如数据库的名称、数据表的名称、字段名称、存取权限、数据文件所在的文件夹和系统使用的文件夹,等等。“performance_schema”是 MySQL 系统自带的数据库,可以用来监控 MySQL 的各类性能指标。“sys”数据库是 MySQL 系统自带的数据库,主要作用是,以一种更容易被理解的方式展示 MySQL 数据库服务器的各类性能指标,帮助系统管理员和开发人员监控 MySQL原创 2023-10-17 23:28:15 · 256 阅读 · 0 评论 -
MySQL索引失效的七种情况
转载: https://blog.csdn.net/weixin_39129067/article/details/121315567模 型 数 空 运 最 快口诀字面意思就是,要运送一个产品模型的话,要用空运,不要用陆运和海运,数空运最快。叫作:模型数空运最快。下面我拆开逐字讲解一下:模:模糊查询的意思。like的模糊查询以%开头,索引失效。比如:SELECT * FROM user WHERE name LIKE ‘%老猿’;型:代表数据类型。类型错误,如字段类型为varchar,whe原创 2021-12-27 11:02:14 · 763 阅读 · 5 评论 -
OLAP OLTP 区别
很容易混淆的两个概念oltp 是On-Line Transaction Processing:联机事务处理olap 是On-Line Analytical Processing:联机分析处理。那么olap和oltp的主要区别有:oltp面向的是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,记录即时的增、删、改、查,而olap的应用场景则是数据仓库的大数据量的查询统计,偏向于提供统计结果,用于分析决策。处理数据的时效性也不一致,oltp一般时效性更强,一般来数据便进行处理,原创 2021-11-19 17:25:11 · 2837 阅读 · 0 评论 -
linux 性能优化之路(二): 深入了解几种linux上下文切换
上下文切换是什么?上下文切换是对任务当前运行状态的暂存和恢复CPU为什么要进行上下文切换?当多个进程竞争CPU的时候,CPU为了保证每个进程能公平被调度运行,采取了处理任务时间分片的机制,轮流处理多个进程,由于CPU处理速度非常快,在人类的感官上认为是并行处理,实际是"伪"并行,同一时间只有一个任务在运行处理。上下文切换主要消耗什么资源,为什么说上下文切换次数过多不可取?根据 Tsuna 的测试报告,每次上下文切换都需要几十纳秒到到微秒的CPU时间,这些时间对CPU来说,就好比人类对1分钟或10分原创 2021-11-04 18:00:17 · 299 阅读 · 0 评论 -
linux 性能优化之路(三): 了解CPU软中断和硬中断
什么是中断中断表示我们请求操作硬件操作准备就绪了,例如从磁盘读取数据,我们知道CPU执行速度比磁盘执行速度快几个数量级,因此如果CPU每次check磁盘是否准备就绪了,那么系统的并发能力和性能会大大下降,但是采用中断方式,异步事件驱动方式来提升系统效率,首先会在驱动程序中嵌入中断程序,一旦磁盘准备就绪就会通过驱动程序发生一个中断请求操作,CPU立马停下手里的活来执行中断程序,该中断程序会从磁盘中读取数据到内存中。如何避免丢失其他中断请求一定要保证中断程序快速能处理,因为当CPU在处理中断时,是不能响应原创 2021-11-04 17:40:12 · 1208 阅读 · 0 评论 -
Linux下ps -ef 和 ps aux 的区别及格式详解
Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?这里要说一下 BSD vs System V这里需要说明的是:Linux不能称为"标准的Unix“而只被称为"Unix Like"原因有一部分就是来自它的操作风格介乎两者之间,而且不同的厂商为了照顾不同的用户,各linux发行版本的操作风格之间也有不小的出入。BSD(BerkeleySoftware Distribution,伯克利软件套件)是Unix的衍生系统,1970年代由伯克利加州大学(Uni原创 2021-11-04 16:57:42 · 401 阅读 · 0 评论 -
最接地气的版本 30个字讲透 四层负载均衡 七层负载均衡
首先放一张图, 相比很多人都看过无数遍了, osi七层网络模型:所谓七层负载均衡, 我建议大家理解为 第七层负载均衡, 也就是在osi这个七层网络模型中的第七层进行的负载均衡, 比如nginx的域名正则匹配就是很好的例子, 并不是七层的每一层都做了负载均衡, 七层负载的意思.四层负载均衡, 想必大家看到这里也应该明白了, 同理, 也就是在osi这个七层网络模型中的第四层进行的负载均衡, 第四层是什么? 传输层, 说白了就是端口+ip的模式, 同样也不是四层负载的意思.那四层负载的“四层”是指传输原创 2021-10-09 16:49:37 · 160 阅读 · 0 评论 -
Java中String与File的互相转换
今天有这个需求, 记了下来, 算是搬运, 感谢!字符串转文件/** * 将字符串写入指定文件(当指定的父路径中文件夹不存在时,会最大限度去创建,以保证保存成功!) * * @param res 原字符串 * @param filePath 文件路径 * @return 成功标记 */ public static boolean string2Fi原创 2021-06-08 18:23:36 · 10042 阅读 · 0 评论 -
gradle和maven对比
本文是我逛知乎的时候看到的的大佬发言, 转载于此.首先gradle和maven根本就不是同一种类的东西,gradle是构建工具,为了构建,带有依赖缓存功能(不是包管理功能)maven是依赖包管理工具,通过插件带有一定的构建能力。看清楚他们的侧重点没有,gradle可以完成非常复杂的构建,你用它的dsl可以玩出各种花样来,所以它特别适合android这种重客户端,组件越多越复杂的应用(本质就是巨石应用)它越得心应手,反之如果你没有特别复杂的打包要求,那你就是在用牛刀杀鸡了。gradle没有依赖包原创 2021-06-07 18:11:10 · 2994 阅读 · 0 评论 -
什么是函数的side effects, 如何通俗的理解它?
Side effect就是“副作用”(侧面影响),通常是对于一个函数而言的,说一个函数“有副作用”或者“没有副作用”。如果一个函数修改了自己范围之外的资源,那就叫做有副作用,反之,就是没有副作用。总结一下, 有副作用(side effects)的函数会做(不限于)这些事情:修改全局变量修改输入参数所引用的对象做输入输出操作调用其他有副作用的函数...原创 2021-05-07 09:28:31 · 24526 阅读 · 1 评论 -
通过PowerMockito来模拟时钟回拨, 验证改进版雪花算法是否起效
改进版雪花算法详见上篇传送门简单说明: 通过PowerMockito来mock雪花算法中获取时间的算法, 从而实现伪造时间覆盖.测试类import org.junit.Assert;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.powermock.api.mockito.PowerMockito;import org.powermock.core.classlo原创 2021-04-21 17:56:15 · 2701 阅读 · 3 评论 -
DNS 是怎样同时使用TCP, UDP的
DNS同时占用UDP和TCP端口53, 比较奇怪DNS在进行区域传输的时候使用TCP协议,其它时候则使用UDP协议, DNS的规范规定了2种类型的DNS服务器,一个叫主DNS服务器,一个叫辅助DNS服务器。在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。当一个辅助DNS服务器启动时,它需要与主DNS服务器通信,并加载数据信息,这就叫做区传送(zone transfer)。为什么既使用TCP又使用UDP?TC原创 2021-04-09 15:36:14 · 1553 阅读 · 2 评论 -
mysql 主从, 多主多从, cluster区别
主从 读写分离cluster集群多节点同时读写主从写压力扩展就是多套主从,相对麻烦,但是架构灵活,性能好多点读写cluster模式都避不开一个写性能问题,写一个节点需要同步到所有节点才能算一个事务, 比较麻烦...原创 2021-04-07 16:38:18 · 937 阅读 · 0 评论 -
如何永久关闭selinux
getenforce 查看状态setenforce 0 关闭内存中的配置(重启失效)vi /etc/selinux/config设置 SELINUX=permissivereboot 搞定原创 2021-03-24 17:42:48 · 691 阅读 · 0 评论 -
docs2unix 命令介绍
命令简介:dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为\r\n ,而Unix&Linux文件的换行符为\n. dos2unix命令其实就是将文件中的\r\n 转换为\n。而unix2dos则是和dos2unix互为孪生的一个命令,它是将Linux&Unix格式文件转换为Windows格式文件的命令。最近被坑了一把 docker在linux服务器上到死都找不到启动脚本, 最终定位到是window的文件和linux/u原创 2020-11-02 17:03:10 · 1123 阅读 · 0 评论 -
Docker for mac 网络模式踩坑
在使用Docker时,要注意平台之间实现的差异性如Docker For Mac的实现和标准Docker规范有区别,Docker For Mac的Docker Daemon是运行于虚拟机(xhyve)中的, 而不是像Linux上那样作为进程运行于宿主机,因此Docker For Mac没有docker0网桥,不能实现host网络模式,host模式会使Container复用Daemon的网络栈(在xhyve虚拟机中),而不是与Host主机网络栈,这样虽然其它容器仍然可通过xhyve网络栈进行交互,但却不是用的原创 2020-10-27 09:44:51 · 3435 阅读 · 5 评论 -
多级反向代理的情况下, 如何获取client真实ip
获取客户端的IP地址的方法是:request.getRemoteAddr()这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实IP。经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。原创 2020-10-12 17:17:08 · 9428 阅读 · 2 评论 -
Centos7 将自定义命令注册为linux服务
在/etc/systemd/system/中新建文件xxx.service在xxx.service中加入下面内容#centos7[Unit]Description=xxxAfter=syslog.target [Service]ExecStart=/usr/bin/java -jar /usr/local/xxx.jar(jar包存放于/usr/local/xxx.jar) [Install]WantedBy=multi-user.target systemctl start.原创 2020-09-29 17:43:22 · 486 阅读 · 1 评论 -
版本控制三大天王 CVS SVN GIT 优劣对比
首先上一张图:Git与SVN 的区别Git 不 仅仅是个版本控制系统,它也是个内容管理系统(CMS)、工作管理系统等。如果你曾是一个使用过SVN背景的人,那么你可以很容易的做一定的思想转换,来 适应Git提供的一些概念和特征。这篇文章的主要目的就是通过介绍Git能做什么,以及它和SVN在深层次上究竟有什么不同,通过比较来帮助你更好的认识 GitGit是分布式的,SVN不是这是Git和其它非分布式的版本控制系统(SVN,CVS)最核心的区别。如果你能理解这个概念,那么你就已经上手一半了。需要做一点声原创 2020-06-30 18:20:40 · 1477 阅读 · 0 评论 -
史上最全计算机进制介绍以及转换
现代社会中,计算机已经深入到各个方面中,无论是工作还是生活,给人们带来了极大便利。我们平时操作计算机无论是用来办公还是用来娱乐,都是计算机主要用来存储数据和计算数据。在计算机中组成结构中,存储器就是用来存储程序和数据的部件,我们称之为内存。数据在内存中的存储单位是:1bit8bit = 1字节1024字节 == 1k1024k == 1M1024M ==1G1024...原创 2019-10-24 01:08:13 · 2558 阅读 · 0 评论