Linux基础(2)
Linux基础(2)Linux命令1234命令提示符 命令命令提示符 命令 选项命令提示符 命令 参数命令提示符 命令 选项 参数 参数
常用命令
命令
作用
reboot/init 6
重起系统
init 0
关闭系统
sleep
睡眠
cal
查看日历
uname
查看系统信息
cd-改变目录/切换目录效果和双击打开文件夹的效果一样,cd命令只作用于目录或者路径
命令
作用
cd
直接回到家目录
cd + 目录名
进入到该目录中
cd + 路径
进入到该路径中
ls-查看文件名用来显示文件名
ls:显示当前目录下文件的文件名
ls -l:以长格式显示文件信息
输出示例:
显示的文件信息
执行完ls -l命令后在终端显示的文件信息,具体可以分为8个部分,如图:
1.文件的类型
在Linux环境中有7种文件类型:
文件信息
文件类型
-
普通文件
d
目录文件
c
字符设备文件
b
块设备文件
p
管道文件
s
网络套接字文件
l
链接文件(符号链接文件)硬链接
2 ...
Linux基础(1)
Linux基础(1)VMware和centOS安装VMware的安装没有什么需要注意的到网上随便搜个教程即可
关于centOS的安装,之前安装过许多次,但是看了韩顺平老师的课程后,才发现有许多需要注意的问题,下面列出一些比较重要的问题。教程点这里>>>>>>>>>>
centOS安装注意事项网络适配器的选择对于网络连接的设置我们选择默认的NAT模式即可,而对于另外两种桥接模式和主机模式这三种网络连接方式的特点如下:
桥接模式:虚拟的Linux系统可以和外部系统通信,使用的是类似192.168.0.xxx的同一网段,因为每一位的最大值只有255(可能没有255个其中.1是做网关和.55是做广播地址),当连接过多时容易造成IP冲突。
NAT模式:又叫网络地址转换模式,NAT模式使用的是代理方式和外部系统通信,在NAT模式下配置Linux虚拟系统的IP地址后,主机上对应也会生成一个虚拟网卡,虚拟网卡和Linux虚拟系统间会生成一个独立的可以相互通信的网络。而Linux虚拟系统会通过主机IP代理找到外部系统进行通信,这样Linux虚 ...
Linux文件系统
Linux文件系统Linux文件系统简介在Linux系统中一切皆文件
在我们熟悉的Windows系统中,有着盘符的概念,因为Windows的文件结构是多个并列的树状结构,最顶端是不同的磁盘分区。
Linux的文件结构是单个的树状结构,根目录是/,其他目录都要位于根目录下。以/为根目录层层嵌套,层级目录结构,所有的资源,包括硬件设备都是以文件的形式表现出来。这样用户就可以用读写文件的方式实现对硬件的访问,优势显而易见。
在Linux中使用正斜杠(/)而不是反斜杠(\)来划分目录。在Linux中,反斜杠是用来标识转义字符的
Ext4和XFS文件系统ext4 文件系统由 ext3 文件系统改进而来,而后者又是从 ext2 文件系统改进而来。虽然 ext4 文件系统已经非常稳定,是过去几年中绝大部分发行版的默认选择,但它是基于陈旧的代码开发而来。另外, Linux 操作系统用户也需要很多 ext4 文件系统本身不提供的新功能。虽然通过某些软件能满足这种需求,但性能会受到影响,在文件系统层次做到这些能获得更好的性能。
ext4 文件系统由 ext3 文件系统改进而来,而后者又是从 ext2 ...
分布式事务
分布式事务一图解读分布式事务
名词解释
事务:事务是由一组操作构成的可靠的独立的工作单元,事务具备ACID的特性,即原子性、一致性、隔离性和持久性。
本地事务:当事务由资源管理器本地管理时被称作本地事务。本地事务的优点就是支持严格的ACID特性,高效,可靠,状态可以只在资源管理器中维护,而且应用编程模型简单。但是本地事务不具备分布式事务的处理能力,隔离的最小单位受限于资源管理器。
全局事务:当事务由全局事务管理器进行全局管理时成为全局事务,事务管理器负责管理全局的事务状态和参与的资源,协同资源的一致提交回滚。
CAP定理:对于共享数据系统,最多只能同时拥有CAP其中的两个,任意两个都有其适应的场景,真是的业务系统中通常是ACID与CAP的混合体。分布式系统中最重要的是满足业务需求,而不是追求高度抽象,绝对的系统特性。C表示一致性,也就是所有用户看到的数据是一样的。A表示可用性,是指总能找到一个可用的数据副本。P表示分区容错性,能够容忍网络中断等故障。
分布式事务与分布式锁的区别:
分布式锁解决的是分布式资源抢占的问题;分布式事务和本地事务是解决流程化提交问题。
事务简介事务(T ...
Mysql面试题
Mysql面试题MySQL中的存储引擎常用的存储引擎有以下:
Innodb引擎:Innodb引擎提供了对数据库ACID事务的支持。并且还提供了行级锁和外键的约束。它的设计的目标就是处理大数据容量的数据库系统。
MyIASM引擎(Mysql5.5前的默认引擎):不提供事务的支持,也不支持行级锁和外键。
MEMORY引擎:所有的数据都在内存中,数据的处理速度快,但是安全性不高。
MyISAM与InnoDB区别:
MyISAM
Innodb
是否支持事务
不支持事务, 但是每次查询都是原子的
支持 ACID 的事务, 支持事务的四种隔离级别
锁支持
支持表级锁定
支持行级锁定、表级锁定,锁定力度小并发能力高
是否支持外键
不支持外键
支持外键
存储结构
每张表被存放在三个文件:索引文件MYI、数据文件MYD、frm表结构文件
所有的表都保存在同一个数据文件中(也可以是多个),InnoDB表的大小只受限于操作系统文件的大小,一般为2GB
存储空间
MyISAM可被压缩,存储空间较小
InnoDB的表需要更多的内存和存储,它会在主内存中建立其专用的缓冲池用于 ...
rabbitMQ面试题
RabbitMQ项目中用过消息队列么?你为啥用消息队列?采用微服务的设计思想,分布式的部署方式,所以拆分了很多的服务,随着体量的增加以及业务场景越来越复杂了,很多场景单机的技术栈和中间件以及不够用了,而且对系统的友好性也下降了,最后做了很多技术选型的工作,我们决定引入消息队列中间件。
在什么场景用到了消息队列?嗯,我从三个方面去说一下我使用的场景吧。异步、削峰、解耦
我们之前的场景里面有很多步骤都是在一个流程里面需要做完的,就比如说我的下单系统吧,本来我们业务简单,下单了付了钱就好了,流程就走完了。
但是后面来了个产品经理,搞了个优惠券系统,OK问题不大,流程里面多100ms去扣减优惠券。
后来产品经理灵光一闪说我们可以搞个积分系统啊,也行吧,流程里面多了200ms去增减积分。
再后来后来隔壁的产品老王说:下单成功后我们要给用户发短信,也将就吧,100ms去发个短信。
这样的链路下去,整个系统时间就很长,用户体验很差
链路长了就慢了,那你怎么解决的?那链路长了就慢了,但是我们发现上面的流程其实可以同时做的呀,你支付成功后,我去校验优惠券的同时我可以去增减积分啊,还可以同时发个短信啊。 ...
redis面试题
Redis什么是redisredis 是一个 C 语言开发的,基于内存的,高性能 key-value 形式的,单线程的 NoSQL 数据库。可以用作数据库、缓存、消息中间件等,主要用于缓存和 session 共享。提高查询效率和用户体验,为分布式系统提供 session 共享。
Redis作为一个非关系型内存数据库
性能优秀,数据在内存中,读写速度非常快,支持并发10W QPS;
单进程单线程,是线程安全的,采用IO多路复用机制;
丰富的数据类型,支持字符串(strings)、散列(hashes)、列表(lists)、集合(sets)、有序集合(zset)等;
支持数据持久化。可以将内存中数据保存在磁盘中,重启时加载;
主从复制,哨兵,高可用;
可以用作分布式锁;
可以作为消息中间件使用,支持发布订阅
Redis五种数据类型
string是redis最基本的类型,可以理解成与memcached一模一样的类型,一个key对应一个value。value不仅是string,也可以是数字。string类型是二进制安全的,意思是redis的string类型可以包含任何数据,比如jpg图片或 ...
Dubbo
DubboDubbo是什么?Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
又是一个框架😵,每次学习框架都感觉学不明白,可能和学习的方式有关系。对于框架还是没有本质的认识,使用来说也没有感觉,脑子里没有框架的思想,所以感觉寸步难行。之前的框架还没有开始复习,现在从Dubbo的学习来找点感觉吧。
看完基本介绍,想要继续下去,我们先要解决什么是RPC?这个问题。
RPC是什么RPC是远程过程调用(Remote Procedure Call)的缩写形式。远程调用对立的就是本地调用,我们之前学习Java时,实现一个个方法之间的调用,这个就是本地调用。再通俗点,就是从你本机上调用方法就是本地调用,而你在本地调用了其他地方机器上的某个方法就是远程调用。 RPC 框架就是要实现像那小助手一样的东西,目的就是让我们使用远程调用像本地调用一样简单 ...
RabbitMQ
RabbitMQ
这两天学习RabbitMQ,还是一知半解,现在想想根本不知道这玩意是干啥的(刘少还没讲应用)。别说应用了,这玩意课上简单的demo敲完我都一脸懵😵,所以还是好好梳理一下概念和demo的流程(这里说是很值钱💴)。
简介在说RabbitMQ前,先和我们说了AMQP(高级消息队列协议),一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。
这一大堆的介绍是一句听不懂,不过RabbitMQ其实就是一个实现了AMQP的开源的消息中间件,使用高性能的Erlang编写的。
上面有两个概念刚听到的时候不是太理解,消息队列和消息中间件。我直接百度一下,万能的百度没有你我可咋办呀🧡💛💚💚💙💙💜🤎💖
什么是消息队列?看这里
大佬就是不一样,这种娓娓道来的感觉是真的让我佩服。以后再看见消息队列心里就默念异步、削峰、解耦(异步、削峰、解耦;异步、削峰、解耦…背他个100遍先😠)。
消息队列简单的说就是把消息放在队列 ...
秒杀项目
前言博客自从搭起来零零碎碎的也写了点东西,但是都水的不行,依旧发挥了自己练习多年的CV大法,每篇看着都水的不行。最重要的是大部分都没有动脑子,缺少自己的想法,看着就不像自己的东西。
来培训了快半年了,东西嘛也多少学到点,就是还是和以前一样没有努力,Java基础、高级到后面框架,都是得过且过。欠的都是要还的,最近再学最后的秒杀项目,学到现在说实话,不懂,一点也不懂。本来打算周末的时候就着手写博客梳理、复习一下的,可是,我这该死的拖延症!!!!!
不过现在能开始也不是太迟嘛(自我安慰我一直是可以的),接下来主要目标就是把这个秒杀项目搞懂,其中穿插一些复习,还有一个月就要去面试了,压力太大了,这次就好好加油吧。
OK,让我把我男神刘少的视频打开再跟着他好好学习秒杀项目
秒杀项目介绍前端-》请求-负载均衡(nginx)-网关(zuul)-> eureka server-》配置(config-server)-》用户、商品、秒杀的微服务-消息中间件-websocket
首先是秒杀项目的基本内容,大体内容:负载均衡、网关、eureka、配置、不同的微服务、消息中间件、web socket。 ...