第一章、MySQL架构与概念 1、MySQL的逻辑架构 ? 最上面不是MySQL特有的,所有基于网络的C/S的网络应用程序都应该包括连接处理、认证、安全管理等。...1.3.1、事务的ACID特性 事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性(Jim Gray在《事务处理:概念与技术》中对事务进行了详尽的讨论)。...FOR UPDATE加IX锁,意向锁的规则如下: (1)事务在对表T中的记录获取S锁前,先要获取表T的IS锁或者更强的锁; (2)事务在获取表T中记录的X锁前,先要获取表T的IX锁。...也就是说,next-key锁是索引记录锁,外加索引记录之前的区间的间隙锁。如果一个连接对索引中的记录R持有S或X锁,其它的连接不能按照索引的顺序在R之前的区间插入一个索引记录。...MySQL默认的存储引擎为MyISAM,当然,创建表的时候可以指定其它的存储引擎,你可以在同一个数据库中对不同的表使用不同的存储引擎(这是非常强大而独特的特性)。
本文是漫谈架构专栏的第二篇,作者通过几个例子,讨论了一下认识概念的误区,如何有效的去认识概念,明白概念背后的含义,以及如何利用对概念的理解,快速的进行学习。 在前一篇文章中,我们讨论了什么是架构。...这又变成生理学了,事实上要做好桌子和椅子,必须要理解人的生理结构,才能正确的理解桌子和椅子的概念。...我注意到,在做架构师的群体中,不谈抽象好像就不是一个合格的架构师。 抽象这个词代表的含义,实际上是把不同的概念的相似的部分合并在一起,形成一个新的概念。...回过头来,根据架构的定义,要做好架构所首先必须具备的能力,就是能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样才能够为做好架构打好基础。...以上通过几个例子,讨论了一下认识概念的误区,如何有效的去认识概念,明白概念背后的含义,以及如何利用对概念的理解,快速的进行学习。掌握了这些原则,会有利于帮助我们在架构阶段,快速的识别和定位问题。
物理内存与磁盘的关系 如何理解物理内存?...页框 磁盘中数据块称之为 页帧 内存在实际进行内存管理的时候,也要是4KB为单位的 ---- 内存管理的本质:将磁盘中特定的4KB块(数据内容)放入到哪一个物理内存的4KB空间(数据保存的空间) 凭什么物理内存要分为一个个...假设访问一段代码只有10个字节,load时以4KB为块进入磁盘中,则会多出来2KB的空间 局部性原理的特性, 允许提前加载正在访问数据的相邻或者附近的数据 通过预先加载要访问数据的附近的数据来减少未来的...) 对应页框的起始地址+ 虚拟地址的低12个比特位对应的地址数据 本质为 页内偏移 定位到页框内的任意地址 3....hello world在常量区,只能被读取,不能被修改,所以*s='w',是错误的 ---- s里面保存的是指向的字符的虚拟起始地址 *s寻址时,会伴随虚拟地址到物理地址的转换 ---- 通过查页表的方式
在本文中,我们将通过对话的形式,深入浅出地解释Kafka的核心概念与架构,帮助您轻松理解并实践Kafka的应用。...那主题和分区是什么概念呢? 了不起:主题是Kafka中最基本的概念,它是消息的分类单位。生产者将消息发布到一个特定的主题中,而消费者可以订阅一个或多个主题来消费消息。...同事:好的,我对Kafka的核心概念有了初步的了解。但是,我还想了解一下Kafka的架构设计,它是如何实现高可靠性和高吞吐量的呢? 了不起:没问题!...Kafka的架构设计确实为实现高可靠性和高吞吐量提供了支持。Kafka的架构由几个关键组件组成: 有生产者(Producers),它们负责将消息发布到Kafka集群。...通过理解Kafka的核心概念和架构设计,我们可以更好地利用Kafka构建可靠、高效的数据流处理系统,并应对日益增长的数据处理挑战。
所以我们经常会发现,有一些软件在linux操作系统上行,可能到了windows操作系统就不行了,这是因为软件运行时一定会通过接口访问操作系统,不同的操作系统的接口可能并不完全一样,所以就造成了这种状况。...“管理”如何理解? 首先,既然有管理者,那么也就有被管理者。 1.管理者和被管理者并不需要见面就能完成管理; 2.那不见面该如何管理呢?...二.进程概念 可能我们再很多书上看到进程的概念都是: 一个正在运行的程序或是一个加载到内存的程序。 但事实上并没有这么简单。...task_struct linux下的PCB是 task_struct,task_struct 是PCB的一种。 ...task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息。
可以正常发送请求到网站A 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A 浏览器在接收到这些攻击性代码后,根据网站B的请求...,在用户不知情的情况下携带Cookie信息,向网站A发出请求。...网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。 流程示意图 ?
概念: 我们来了解一下爬虫的概念,那爬虫的话呢,它到底是什么东西呢,可能有一些 朋友会稍微的听过,比如说我要去爬取什么视频,图片啊,或者是像小说,那实际上 我们这个爬虫的话,它就是什么模拟浏览器发送请求获取响应...,然后,就是 按照一定的规则,自动的去爬取我们这个互联网上信息的一个程序,所以这就是爬虫。...首先啊,我们写一下有爬虫,爬虫概念,就其实比较简单,就是什么模拟浏览器 牛奶器,然后呢,发送请求获取响应,因为正常用户去上网浏览的时候,是不是都需 要干嘛打开浏览器,然后去搜索,去搜索吗,我比如说我要搜索什么爬虫...,就是我们要做的事情,写一下他会是什么模拟 客户端访问,相应的要去抓取数据,这是我们要做的事情,那相对应的做网站那个角 色的话,你要去爬,我就不能让你爬到嘛,所以呢,相应的一个什么反扒。...,当然相对应的就人 家反爬了,就你有反爬的措施没关系,我还有什么反反扒,反反扒,写一下反反扒, 反扒是相对于反扒做出的测试好针对什么,针对我们这个反扒做的措施,措施,所以 这里的话呢,就是我们这个爬虫的概念
独立的客户端节点在一个比较大的集群中是非常有用的,他协调主节点和数据节点,客户端节点加入集群可以得到集群的状态,根据集群的状态可以直接路由请求。...主资格节点说明 主资格节点的主要职责是和集群操作相关的内容,如创建或删除索引,跟踪哪些节点是群集的一部分,并决定哪些分片分配给相关的节点。 稳定的主节点对集群的健康是非常重要的。...索引(index) 在ES中,索引是一组文档的集合(就是一个日志),一个索引是一些有类似特征的文档的集合,索引是有几分相似属性的一系列文档的集合,索引相对于关系型数据库的库。...文档相对于关系型数据库的列。 mapping 类比关系型数据库中的 schema 概念,mapping 定义了 index 中的 type。...Elastic 和 关系型数据库 概念对比 ElasticSearch RDBMS 索引(index) 数据库(database) 类型(type) 表(table) 文档(document) 行(row
为什么需要 cgroup ---- 在 Linux 里,一直以来就有对进程进行分组的概念和需求,比如 session group, progress group 等,后来随着人们对这方面的需求越来越多,...hierarchy : 一个 hierarchy 可以理解为一棵 cgroup 树,树的每个节点就是一个进程组,每棵树都会与零到多个 subsystem 关联。...在一颗树里面,会包含 Linux 系统中的所有进程,但每个进程只能属于一个节点(进程组)。...shares 用来设置 CPU 的相对值(你可以理解为权重),并且是针对所有的 CPU(内核),默认值是 1024。...总结 ---- 本文主要介绍了 cgroup 的一些基本概念,包括其在 CentOS 系统中的默认设置和控制工具,以 CPU 为例阐述 cgroup 如何对资源进行控制。
“你对架构这个词怎么理解?” emm ….. 实际上,软件架构分成 2 派。 1 软件架构的派别 组成派 组成派的定义非常简洁。 定义:软件系统的架构将系统描述为计算组件及组件之间的交互。...该架构关注架构实践中的客体——软件,以软件本身为描述对象。 b. 分析了软件的组成,即软件由承担不同任务的组件组成,这些组件通过相关交互,完成更高层次的计算。...软件架构并不仅仅注重软件本身的结构和行为,还注重其他特性:使用、功能性、性能、弹性、重用、可理解性、经济和技术的限制及权衡,以及美学等。...2 组成派、决策派 概念解析 组成派: 架构设计是分与合的艺术。 架构 = 组件 + 交互。...…… 最后,管他什么派,只是角度不同罢了,好的架构,我认为是这样的:模块边界清晰,依赖合理,弹性灵活,性能优越,易于理解。 参考 软件架构设计——温昱
更改windows的文件属性 linux是不关心后缀的,linux的文件属性,依靠权限位决定,和文件名无关 linux不通过文件扩展名来识别文件类型,文件扩展名,仅仅就是让运维人员能够肉眼一眼,就知道它是什么类型...即使你修改linux的文件名,也不会修改文件的类型。 linux的文件名,就是个普通的字符串而己。...一堆英文字母 linux是根据你敲的命令,决定出现个什么 4.1 需要记忆的后缀 为了区分出文件类型,我们还是会给linux文件,添加上阅读性更好的文件扩展名字。...坑在于 mkdir 只有创建文件夹的作用 touch 俩作用,1.创建文件 2.修改时间戳 linux同一个目录,文件名不能重复 8.linux的硬盘,必须要挂载后才能使用(挂载的概念) Windows...2.Linux下面的目录是一个有层次的目录结构。 3.在linux中每个目录可以挂载到不同的设备(磁盘)上。
(参照点是:父亲的坐标系统) bounds:该view在本地坐标系统中的位置和大小。...(参照点是:本地坐标系统,就相当于View自己的坐标系统,以0,0点为起点) center:该view的中心点在父view坐标系统中的位置和大小。...(参照点是:父亲的坐标系统) origin是frame或bounds的左上角坐标 contentInset和contentOffset contentSize是contentView的大小 contentInset...的contentOffset为(-20,-10) 在scrollViewA的内容滚动时contentSize是不变的 contentInset也是不变的 变得只是contentOffset和bounds...和bounds就是contentView的左上角在该坐标系的坐标
值得注意的是4+1更大的价值是提供了一套分析系统的框架,实际上怎么呈现不同的团队可能有不同的形式。对于一个系统从不同的视角看会得到不同的理解,横看成岭侧成峰。...2.4 架构的设计模式软件架构归根结底无非两种模式:从技术层面和业务功能层面来设计。在理解这两个之前想区分一下技术语言和业务语言:技术语言:是实现层面的。...技术人员要做的是摆脱技术语言体系,走进业务体系,不能被技术语言限制住。从本质上来说技术是为了业务服务的,所以理解业务第一,技术第二。对业务有了深刻的理解,再转过来去用技术来实现业务。...类似于一个国家,虽然小,但是有自己的法律、武装、税收等。微服务拥有自己的逻辑、存储、领域等。微服务核心思想:服务即实体,我即是全部。服务是实体概念的载体。...理论上在软件系统中提炼出来的任何概念都可以作为关注点,包括显示的和隐式的概念。怎么分离?分离的方法无外乎水平分离和垂直分离。上帝与凯撒是水平分离,上帝与耶稣就是垂直分离了。
Kubernetes 迅速成为云环境中软件部署和管理的新标准。 与强大的功能相对应的是陡峭的学习曲线。 本文将提供 Kubernetes 的简化视图,从高处观察其中的重要组件,以及他们的关联。...Node(节点)是计算资源的最小单位,表示集群中单台计算机。 可能是数据中心里面的计算机,也可能是云中的虚拟机,还可能是其他的东西。...应用不是运行在特定的节点上的,随时可能转移到其他节点上,所以,应用不能把数据保存到所在节点的文件系统中。...Kubernetes 上运行的程序被打包为 Linux 容器。 容器化使您可以创建独立的 Linux 执行环境。任何程序及其所有依赖项,都可以捆绑成一个文件,然后在网上共享。...通过上述的概念,已经可以创建一个包含多个 Node 的 Cluster,通过 Deployment 启动并管理多个 Pod(Pod 中是 Container,Container 里是你的 App)。
1、RabbitMQ中的消息如何保障百分之百的投递成功? 答:百分之百的投递成功,方案可以参考下面的2、3。 2、什么是生产者端的可靠性投递? 答:第一步,生产者保障消息的成功发出。...第二种,消息的延迟投递,做二次确认,回调检查。此种方式和减少和数据库的操作。第一种方式在高并发的场景下可能不是很适合。 ? 4、RabbitMQ的幂等性概念。幂等性是什么,幂等性的概念。 ...比如在高并发的情况下,会有好多消息到达RabbitMQ的Broker,消费端监听大量的消息,难免出现消息的重复投递,网络闪断导致的消息重复投递。如果不做消费端,幂等就会出现消息重复消费。 ...第二个问题,如果不进行落库,那么都存储到缓存中,如何设置定时同步的策略。 7、Confirm确认消息详解,理解Confirm消息确认机制。 ...3)、DLX也是一个正常的Exchange,和一般的Exchange没有区别,它能在任何的队列上被指定,实际上就是设置某个队列的属性。
每天使用Linux每天都要接触到Bash,使用Bash时似乎永远都让人摸不着头脑的概念就是终端,坐在这台运行着Linux的机器的显示器前面,这个显示器就是终端的输出,而插在机器上的USB键盘或者PS/...但想要彻底理解终端的概念,还是要从计算机发展历史的角度去寻根溯源。 最开始的时候,计算机有三间房屋那么大,确切地讲应该叫三间车间。...当然在各大机房(也是类似车间大小的那种房间)里了,只是现在不叫大型机了,而叫做云端,这种技术叫做云计算(似乎有点炒作概念的意思)。...这里顺便提一下,对于串口而言,不存在焦点终端的概念,谁连了串口就是谁,而对于伪终端来讲,一般情况下client都是运行在GUI环境,对于Windows那是微软的事,对于Linux,则有X系统完成同样的事...为了帮助理解上述的文字,我特意作图一张,希望能解释清楚这些终端之间的关系以及弄明白它们的工作流程。
每天使用Linux每天都要接触到Bash,使用Bash时似乎永远都让人摸不着头脑的概念就是终端,坐在这台运行着Linux的机器的显示器前面,这个显示器就是终端的输出,而插在机器上的USB键盘或者PS...但想要彻底理解终端的概念,还是要从计算机发展历史的角度去寻根溯源。 ---- ---- 最开始的时候,计算机有三间房屋那么大,确切地讲应该叫三间车间。...当然在各大机房(也是类似车间大小的那种房间)里了,只是现在不叫大型机了,而叫做云端,这种技术叫做云计算(似乎有点炒作概念的意思)。...这里顺便提一下,对于串口而言,不存在焦点终端的概念,谁连了串口就是谁,而对于伪终端来讲,一般情况下client都是运行在GUI环境,对于Windows那是微软的事,对于Linux,则有X系统完成同样的事...为了帮助理解上述的文字,我特意作图一张,希望能解释清楚这些终端之间的关系以及弄明白它们的工作流程。
spring 概念理解(资料) 一、Spring的IoC(Inversion of Control)。 这是Spring中得有特点的一部份。...所以要理解IoC,你必须先了解工厂模式和反射编程,否则对它产生的前因后果和实现原理都是无法理解透彻的。...只要你理解了这一点,你自己也完全可以自己在程序中实现一个IoC框架,只不是这还要涉及到XML解析等其他知识,稍微麻烦一些。 IoC最大的好处是什么?...一些人曾认为IoC没什么实际作用,这种说法是可以理解的,因为如果你在编程中很少使用接口,或很少使用工厂模式,那么你根本就没有使用IoC的强烈需要,也不会体会到IoC可贵之处。...总结: (1)IoC原理很简单,作用的针对性也很强,不要把它看得很玄乎。 (2)要理解IoC,首先要了解“工厂、接口、反射”这些概念。
每天使用Linux每天都要接触到Bash,使用Bash时似乎永远都让人摸不着头脑的概念就是终端,坐在这台运行着Linux的机器的显示器前面,这个显示器就是终端的输出,而插在机器上的USB键盘或者...但想要彻底理解终端的概念,还是要从计算机发展历史的角度去寻根溯源。 最开始的时候,计算机有三间房屋那么大,确切地讲应该叫三间车间。...当然在各大机房(也是类似车间大小的那种房间)里了,只是现在不叫大型机了,而叫做云端,这种技术叫做云计算(似乎有点炒作概念的意思)。...这里顺便提一下,对于串口而言,不存在焦点终端的概念,谁连了串口就是谁,而对于伪终端来讲,一般情况下client都是运行在GUI环境,对于Windows那是微软的事,对于Linux,则有X系统完成同样的事...为了帮助理解上述的文字,我特意作图一张,希望能解释清楚这些终端之间的关系以及弄明白它们的工作流程。
领取专属 10元无门槛券
手把手带您无忧上云