本文主要介绍 CentOS 7 服务器部署规范和一些初始化初始化配置。
Gitlab CE 备份与迁移
Gitlab CE + Gitbook 本地环境搭建
GitLab 是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
它拥有与GitHub类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。
Spring 基本概念
Bean
看完 Java 基础和语法,翻开《Spring 实战》,最开始就是 Java Bean 的介绍,Java Bean 是个什么玩意。
Java Bean 就是一个规范,是一个普通的 Java 类。最早的时候是为了 Java 可视化设计组件化的规范:
- 这个类需要是 public 的, 然后需要有个无参数的构造函数
- 这个类的属性应该是 private 的, 通过 set() 和 get() 来访问
- 这个类需要能支持事件,
- 这个类应该是可以序列化的,以便以后来恢复
- 后面又经过一系列的发展。EJB,什么的。或者又可以这么理解,它是一个实体类,一个数据映射体,用来封装数据
Spring 里面的 Bean 主要用来表示应用组件
CentOS 常用源与镜像
浏览器缓存与相关 HTTP Header
在 HTTP 请求中,内容由 Web 服务器产生,而浏览器缓存内容存储在浏览器本地,他们之间不可能独立完成整个请求过程,所以这个沟通机制就叫缓存协商。
而缓存协商,毕竟还需要浏览器与 Web 服务器的一次 HTTP 请求响应头的确认,如何彻底的消灭请求,就需要用到浏览器缓存。
网站 SEO 优化原则
搜索引擎老板开了个杂货店
Java QuickStart (2) 常用类库,工具包,框架
Java Dao Domain Service
对于从 PHP 过来的 Java 新人,经常看到 Dao, Domain, Service 这几个玩意,有点困惑
对于 MVC 模式来说,其实控制器和视图都很容易理解,Model 呢?
模型。简单理解一下,应该是数据操作和业务逻辑的集合,那么 Java Web 里面 Model = (Dao + Domain + Service) ?
好像如此,所以 Model 简单的分了三层,分别是:
Domain 对应的是实体,如果是 JPA,它就是 Entity 类
Dao 对应的是对数据库进行操作,如果是 Jpa,那么它就是 Repository
Service 对应的是服务层,业务逻辑操作
待有更深刻理解以后再补。
Java QuickStart (1)
Java QuickStart 系列是个人学习 Java 的入坑笔记。
MySQL TokuDB 引擎 (Percona Server)
Percona Server 可以看做是 Linux 上优化过的 MySQL,比如 Percona 针对 InnoDB 优化的 XtraDB 引擎是兼容InnoDB的,Percona还提供了 TokuDB 版本的Percona Server,TokuDB 是一个面向大数据,支持事务的存储引擎,有着非常好的随机写性能,并且支持在线 DDL。
Percona Server 可以看作是 MySQL 的增强版,因为和 MySQL 几乎完全兼容,在使用 yum 安装的时候只是包名不一样,安装后的产物都几乎相同。
特性:
- 高压缩比,默认使用 zlib 进行压缩,尤其是对字符串 (varchar,text等) 类型有非常高的压缩比,比较适合存储日志、原始数据等。一般有5-10倍压缩比。
- 在线添加索引,不影响读写操作
- HCADER 特性,支持在线字段增加、删除、扩展、重命名操作,(瞬间或秒级完成)
- 支持完整的 ACID 事务机制
- 非常快的写入性能(索引的原因)
- 支持show processlist 进度查看
缺点:
- 读响应时间比 InnoDB 长,因为压缩解压缩的原因。CPU 占用会高2-3倍,但由于压缩后空间小,IO 开销低
- 不支持外键,据说触发器等高级特性也尽量不要使用。
适用场景:
- 访问频率不高的数据或历史数据归档
- 数据表非常大并且时不时还需要进行 DDL 操作
Cloudera CDH 集群修改 IP
原则上我以为 Cloudera 是使用 hostname 进行节点间通信,修改 IP 地址只需要修改 hostanme 就可以了,但事实不是这样。
MySQL 规范
对于 Web 线上业务使用 InnoDB,这也是现在 MySQL 默认的数据引擎。
虽然 MyISAM 非常适用于读远远大于写的场景,但是不要在同一个库中混用这两种引擎,因为大数据量情况下的备份和容灾还没有特别靠谱的方案。
Solr 5.5.1 单机版安装部署
Solr 4 到 Solr 5 的一些变更:
可通过内置脚本一键安装,同时支持安装为 Linux 的服务,启动脚本也增加了更多的参数支持。并且 Solr 5.x 通过内置 Server 实现 Http 接口(虽然还是使用Jetty )
schemal.xml 变更为 managed-solr