封装原则倡导通过隐藏抽象的实现细节和隐藏变化等,实现关注点分离和信息隐藏
容器技术和虚拟机,都是 资源隔离的虚拟化技术

graph LR
A[UNIX chroot] --> B(FreeBSD Jails)
B --> C[Linux VServer,Solaris Containers]
C --> D[OpenVZ]
D --> E[Google cgroups]
E --> F[LXC]
F --> G[Docker]
RMQ用了好多年,该重新回顾一下了
Spring Boot做了那些没有它你也会去做的Spring Bean配置
“习惯优于配置”的理念让项目快速运行起来
容易创建一个独立运行(bootable jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置
什么是重构??
不改变软件可观察行为的前提下改善其内部结构 —Martin Fowler
通俗说法:看起来没做啥调整,让系统继续更好的满足客户需求。同时,希望重构完成后,这个系统能够多蹦跶几年
数据库的东西,往往一个参数就牵涉N多知识点
小库可每天完整备份,也用不了多少时间
大数据量备份与还原,始终是个难点。MYSQL超10G,mysqldump导出就比较慢了
MySQL自带工具并不支持真正的增量备份,二进制日志恢复是基于时间点的恢复而不是增量备份
xtrabackup,Percona CTO Vadim参与开发基于InnoDB的在线热备工具,开源,免费,备份恢复速度快(mysqldump 为单线程),占用磁盘空间小,不同情况下的多种备份形式
支持 MySQL、MariaDB 和 Percona
可提供的流备份,可以直接保存到远程机器上(本机硬盘空间不足时很有用)
或是搭建主从,用流式备份大大简化备份后的压缩复制的开销
背书,Facebook 早期用它进行增量备份
XtraBackup 是物理备份,速度很快,能自动验证备份是否有效,自带增量和差异备份功能,在上面功能实现的同时还是热备,对很多公司应用场景来说,已经算是强大到无以复加了
xtrabackup包含两个主要的工具,xtrabackup和innobackupex
-
xtrabackup只能备份innodb和xtradb引擎的表,不能备份myisam引擎的表
-
innobackupex前身是封装了xtrabackup的Perl脚本,后重写成可执行文件,支持同时备份innodb和myisam,对myisam备份时需要加一个全局的读锁。myisam不支持增量备份
xtrabackup中不备份表结构,innobackupex调用xtrabackup子线程后再备份表结构,故常用innobackupex,xtraback不做日常使用
CSP是 用于描述两个独立的并发实体,通过共享的通讯 channel进行通信的并发模型
CSP中channel是第一类对象,它不关注发送消息的实体,而关注与发送消息时使用的channel
这是一套独立于语言的东西
java8中提供的很多新特性可以用来重构传统设计模式中的写法