摘要:一、规范 Shell脚本是以.sh结尾的文件; sh 文件的第一行内容为 #!/bin/bash,它告诉系统使用(Bourne Again Shell)解释器来执行; shell 中的注释:# ; shell 文件的执行有两种方式: sh 文件名.sh; 添加可执行权限:chmod +x 文件名.s
阅读全文
摘要:一、架构发展过程 首先,我们先来看看上面的架构发展的线路图:单一应用架构 --> 垂直应用架构 --> 分布式服务架构 --> 流动计算架构 。 单一应用架构 在一些中小型的传统软件公司中,一个 产品/项目 的所有的代码都在一个工程里,工程下面有多个不同的模块。在部署的时候,将整个工程打包然后放到服
阅读全文
摘要:一、背景 在测试过程中,对于不同的测试团队,出于不同的测试目的,我们可能会有多套测试环境。在产品版本迭代过程中,根据业务需求,会对数据库的结构进行一些修改,如:新增表、字段、索引,修改表、字段索引等操作,在一些流程不规范的公司,开发人员不按照规范操作,不及时将这些修改数据库的 SQL 提交到 SVN
阅读全文
摘要:一、主从同步/复制 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据。 但是由于数据是存储在一台服务器上的,如果这台服务器出现硬盘故障等问题,也会导致数据丢失。 为了避免单点故障,通常的做法是将数据库复
阅读全文
摘要:一、发布订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1
阅读全文
摘要:一、什么是 Redis Redis 是由意大利人 Salvatore Sanfilippo 开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务)。该软件使用C语言编写,遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Valu
阅读全文
摘要:一、概述 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJO(Plain Ordinar
阅读全文
摘要:一、SpringBoot 产生背景 随着动态语言的流行(Ruby,Groovy,Scala,Node.js),Java 的开发显得格外的笨重:繁多的配置,低下的开发效率,复杂的部署流程以及第三方技术集成难度大。 在上述环境下,Spring Boot应运而生。它使用 ”习惯优于配置”(项目中存在大量的
阅读全文