Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
醒狮指南
JavaGuide
提交
cb1ce674
J
JavaGuide
项目概览
醒狮指南
/
JavaGuide
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
JavaGuide
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
cb1ce674
编写于
4月 24, 2019
作者:
D
dongzl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix document error with OS part
上级
58f9a50e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
5 addition
and
5 deletion
+5
-5
docs/operating-system/后端程序员必备的Linux基础知识.md
docs/operating-system/后端程序员必备的Linux基础知识.md
+4
-4
docs/system-design/website-architecture/【面试精选】关于大型网站系统架构你不得不懂的10个问题.md
...esign/website-architecture/【面试精选】关于大型网站系统架构你不得不懂的10个问题.md
+1
-1
未找到文件。
docs/operating-system/后端程序员必备的Linux基础知识.md
浏览文件 @
cb1ce674
...
...
@@ -92,7 +92,7 @@ Linux文件系统的结构层次鲜明,就像一棵倒立的树,最顶层是
**常见目录说明:**
-
**/bin:**
存放二进制可执行文件(ls
,cat,
mkdir等),常用命令一般都在这里;
-
**/bin:**
存放二进制可执行文件(ls
、cat、
mkdir等),常用命令一般都在这里;
-
**/etc:**
存放系统管理和配置文件;
-
**/home:**
存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示;
-
**/usr :**
用于存放系统应用程序;
...
...
@@ -165,7 +165,7 @@ Linux命令大全:[http://man.linuxde.net/](http://man.linuxde.net/)
**在实际开发中,使用vim编辑器主要作用就是修改配置文件,下面是一般步骤:**
vim 文件------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件 ------->按Esc进入底行模式----->输入
:
wq/q! (输入wq代表写入内容并退出,即保存;输入q!代表强制退出不保存。)
vim 文件------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件 ------->按Esc进入底行模式----->输入
:
wq/q! (输入wq代表写入内容并退出,即保存;输入q!代表强制退出不保存。)
4.
**`rm -rf 文件`:**
删除文件(删)
同目录删除:熟记 `rm -rf` 文件 即可
...
...
@@ -188,7 +188,7 @@ Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.g
f:指定文件名
比如:加入test目录下有三个文件分别是
:aaa.txt bbb.txt ccc.txt,
如果我们要打包test目录并指定压缩后的压缩包名称为test.tar.gz可以使用命令:
**`tar -zcvf test.tar.gz aaa.txt bbb.txt ccc.txt`或:`tar -zcvf test.tar.gz /test/`**
比如:加入test目录下有三个文件分别是
:aaa.txt bbb.txt ccc.txt,
如果我们要打包test目录并指定压缩后的压缩包名称为test.tar.gz可以使用命令:
**`tar -zcvf test.tar.gz aaa.txt bbb.txt ccc.txt`或:`tar -zcvf test.tar.gz /test/`**
**2)解压压缩包:**
...
...
@@ -339,7 +339,7 @@ passwd命令用于设置用户的认证信息,包括用户密码、密码过
-
查看当前系统的端口使用:netstat -an
-
**net-tools 和 iproute2 :**
`net-tools`
起源于BSD的TCP/IP工具箱,后来成为老版本Linux内核中配置网络功能的工具。但自2001年起,Linux社区已经对其停止维护。同时,一些Linux发行版比如Arch Linux和CentOS/RHEL 7则已经完全抛弃了net-tools,只支持
`iproute2`
。linux ip命令类似于ifconfig,但功能更强大,旨在替代它。更多详情请阅读
[
如何在Linux中使用IP命令和示例
](
https://linoxide.com/linux-command/use-ip-command-linux
)
-
**`shutdown`:**
`shutdown -h now`
: 指定现在立即关机;
`shutdown +5 "System will shutdown after 5 minutes"`
:
指定5分钟后关机,同时送出警告信息给登入用户。
-
**`shutdown`:**
`shutdown -h now`
: 指定现在立即关机;
`shutdown +5 "System will shutdown after 5 minutes"`
:
指定5分钟后关机,同时送出警告信息给登入用户。
-
**`reboot`:**
**`reboot`:**
重开机。
**`reboot -w`:**
做个重开机的模拟(只有纪录并不会真的重开机)。
...
...
docs/system-design/website-architecture/【面试精选】关于大型网站系统架构你不得不懂的10个问题.md
浏览文件 @
cb1ce674
...
...
@@ -100,7 +100,7 @@ Dubbo 与 Spring Cloud 并不是竞争关系,Dubbo 作为成熟的 RPC 框架
当MySQL单表记录数过大时,数据库的CRUD性能会明显下降,一些常见的优化措施如下:
1.
**限定数据的范围:**
务必禁止不带任何限制数据范围条件的查询语句。比如:我们当用户在查询订单历史的时候,我们可以控制在一个月的范围内
。
;
1.
**限定数据的范围:**
务必禁止不带任何限制数据范围条件的查询语句。比如:我们当用户在查询订单历史的时候,我们可以控制在一个月的范围内;
2.
**读/写分离:**
经典的数据库拆分方案,主库负责写,从库负责读;
3.
**垂直分区:**
**根据数据库里面数据表的相关性进行拆分。**
例如,用户表中既有用户的登录信息又有用户的基本信息,可以将用户表拆分成两个单独的表,甚至放到单独的库做分库。
**简单来说垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表。**
如下图所示,这样来说大家应该就更容易理解了。!
[](
https://user-gold-cdn.xitu.io/2018/6/16/164084354ba2e0fd?w=950&h=279&f=jpeg&s=26015
)
**垂直拆分的优点:**
可以使得行数据变小,在查询时减少读取的Block数,减少I/O次数。此外,垂直分区可以简化表的结构,易于维护。
**垂直拆分的缺点:**
主键会出现冗余,需要管理冗余列,并会引起Join操作,可以通过在应用层进行Join来解决。此外,垂直分区会让事务变得更加复杂;
4.
**水平分区:**
**保持数据表结构不变,通过某种策略存储数据分片。这样每一片数据分散到不同的表或者库中,达到了分布式的目的。 水平拆分可以支撑非常大的数据量。**
水平拆分是指数据表行的拆分,表的行数超过200万行时,就会变慢,这时可以把一张的表的数据拆成多张表来存放。举个例子:我们可以将用户信息表拆分成多个用户信息表,这样就可以避免单一表数据量过大对性能造成影响。!
[
数据库水平拆分
](
https://user-gold-cdn.xitu.io/2018/6/16/164084b7e9e423e3?w=690&h=271&f=jpeg&s=23119
)
水平拆分可以支持非常大的数据量。需要注意的一点是:分表仅仅是解决了单一表数据过大的问题,但由于表的数据还是在同一台机器上,其实对于提升MySQL并发能力没有什么意义,所以
**水平拆分最好分库**
。水平拆分能够
**支持非常大的数据量存储,应用端改造也少**
,但
**分片事务难以解决**
,跨界点Join性能较差,逻辑复杂。《Java工程师修炼之道》的作者推荐
**尽量不要对数据进行分片,因为拆分会带来逻辑、部署、运维的各种复杂度**
,一般的数据表在优化得当的情况下支撑千万以下的数据量是没有太大问题的。如果实在要分片,尽量选择客户端分片架构,这样可以减少一次和中间件的网络I/O。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录