Rsync 同步文件 client&server 配置
Server 端配置
编辑 /etc/rsyncd.conf 文件
######### 全局配置参数 ##########
# 指定 rsync 端口。默认 873
port = 888
# rsync 服务的运行用户,默认是 nobody,文件传输成功后属主将是这个 uid
uid = root
# rsync 服务的运行组,默认是 nobody,文件传输成功后属组将是这个 gid
gid = root
# rsync daemon 在传输前是否切换到指定的 path 目录下,并将其监禁在内
use chroot = no
# 指定最大连接数量,0 表示没有限制
max connections = 200
# 确保 rsync 服务器不会永远等待一个崩溃的客户端,0 表示永远等待...
Java8 中 lambda 表达式的使用
Java8 lambda 表达式实例
1. 用 lambda 表达式实现 Runnable
看一下 Java 8 之前的 runnable 实现方法,需要 4 行代码,而使用 lambda 表达式只需要一行代码。我们在这里做了什么呢?那就是用 () -> {} 代码块替代了整个匿名类。
// Java 8 之前:
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Before Java8, too much code for too little to do");
}
}).start();
//Java 8 方式:
new Threa...
Jmeter 压测 thrift rpc 服务
一、Jmeter 测试类编写
新建 Java 工程并添加 Jmeter 依赖
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_java</artifactId>
<version>2.13</version>
<exclusions>
<exclusion>
<artifactId>commons-math3</artifactId>
...
tcpcopy 使用及采坑记录
RPC 模块的调用测试不像 HTTP 调用那样方便,需要自己写客户端并模拟请求参数,比较麻烦,不过通过 tcpcopy 可以复制线上流量,变相请求 rpc 模块来达到测试目的。
一、概念及安装使用
参考:tcpcopy 的简单用法
二、采坑记录
1. MTU 不匹配
日志中出现这个错误的原因是机器网卡的 MTU 值小于1500,ifconfig 查看网卡信息:
发现 MTU = 1400,确实是这个问题导致的。
解决办法:使用 tcpcopy 命令的时候手动设置 MTU 的值,让其小于等于 1400 即可。命令如下:
/opt/tcpcopy/sbin/tcpcopy -x 9201-10.19.80.99:9201 -s 10.19.80.99 -c 1...
CMS 的两大问题
CMS 的两大问题
Promotion Failed
2018-11-03T16:06:56.472+0800: 70589.121: [GC (Allocation Failure) 2018-11-03T16:06:56.472+0800: 70589.121: [ParNew (promotion failed): 7100051K->7116478K(7549760K), 1.4566873 secs]2018-11-03T16:06:57.929+0800: 70590.578: [CMS: 21753651K->8203385K(33554432K), 15.3593321 secs] 28840583K->8203385K(41104192K), [...
JSON 解析的四种常用方式
JSON 解析的四种方式
用于数据转换的实体类:
import java.util.List;
public class School {
private String name;
private List<Student> students;
public School(String name, List<Student> students) {
this.name = name;
this.students = students;
}
public School() {
}
public String getName() {
return na...
Spring 中使用 Quartz 入门实例
什么是 Quartz
可以理解为它是一个任务调度框架,当我们碰到时间任务调度的需求的时候,比如每天凌晨生成报表,每分钟同步一下远程文件等等,使用 Quartz 可以很方便地完成这些任务。
Quartz 中的主要概念
主要有三个核心概念:任务、触发器和调度器。
三者关系简单来说就是,调度器负责调度各个任务,到了某个时刻或者过了一定时间,触发器触动了,特定任务便启动执行。概念相对应的类和接口有:
JobDetail:描述具体任务。
Trigger:描述任务执行的时间触发规则。有 SimpleTrigger 和 CronTrigger 两个子类代表两种方式,一种是每隔多少分钟小时执行,则用 SimpleTrigger;另一种是日历相关的重复时间间隔,如每天凌晨,每周星期一...
58 post articles, 8 pages.