FreeBSD 11设置Tunnelbroker IPv6隧道

最近把热备的vps迁移到了阿里云国际版$4.5刀上面. 由于阿里云本身不支持原生IPv6, 只能使用tunnelbroker提供的隧道来实现IPv6的支持. FreeBSD 11的API和之前版本有一些不同,因此写一篇blog来记录官方推荐的IPv6隧道的配置.   以下为tunnelbroker的信息页 请在/etc/rc.conf最后加入下列配置, 请根据自己的IPv6信息修改配置. 重启网络和路由   现在你的IPv6地址应该就可以使用了.

Linux下创建Patch的方法

当在Linux下修改了某个文件(夹)之后,如果需要把修改的部分分享出去,可以使用diff命令来创建patch(补丁)文件. 在使用diff命令创建patch之前,我们需要修改之前的原始文件,和修改过的新文件. 当为一个文件创建patch的时候可以使用以下代码: 其中 -N 将缺失文件视为空 -a 将所有文件视为文本文件 -r 递归比较所有子文件夹 -u 输出行数(默认 3)行   当需要为整个文件夹创建patch的时候可以使用以下代码: 其中 -c 输出行数(默认 3)行 -r 递归比较所有子文件夹 -B 忽略连续的换行符 当你需要应用这个patch的时候可以运行 其中参数-p[n] Continue Reading

Spring 使用 AOP+注解 来记录方法执行时间

一直以来都知道Spring支持一种叫做面向切面编程(AOP)的东西,但是一直都没有自己尝试使用过. 直到最近为了Debug方法,记录使用时间猛然发现AOP正好适合使用在这个场景下.为了灵活的使用AOP,我选择了使用注解来作为标记,当某个特定的注解被使用的时候将会自动触发这个切面. 1.注解的编写 将注解设置为运行时RetentionPolicy.RUNTIME, 在编译时不会丢失这个注解信息. 设置注解主体为方法和类. 注解内部保存一个displayArgs的boolean变量,用于判断是否输出传入参数.   2. 编写AOP类   AOP的切入点为使用了Timed的方法或 Continue Reading

Munin提示min must be less than max in DS definition

因为家中使用的树莓派意外损坏,使用NAS上的虚拟机来代替原来树莓派的工作.在配置Munin的时候出现错误,当更新网络设备数据时,munin服务器端报错   在做了一些搜索之后发现文章 https://github.com/mail-in-a-box/mailinabox/issues/896   执行munin-run if_ens3 config 后出现以下输出   根据文章的内容,应用munin-monitoring/munin@f982751到插件中即可修复这个问题.   使用以下patch可以解决问题    

Spring Session整合Redisson

前言: Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, Bloom filter, Remote service, Spring cache, Continue Reading

Spring Boot使用@Cacheable注解

通常,我使用Hibernate的@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)注解来缓存@Entity类. 在JAP2规范内另一个注解@Cacheable有与Hibernate的@Cache的一样的功能使用@Cacheable的条件如下. 1.Entity Class实现Serializable接口 2.在Entity Class前加入@Cacheable(true) 例如   3.在配置文件内开启缓存[1]   参考: http://docs.oracle.com/javaee/6/tutoria Continue Reading

使用Nginx来让Varnish支持HTTP/2

越来越多的公司开始使用HTTP/2来提高他们网站的性能以及用户体验. 开启HTTP/2的方法很简单,但是如何开启在HTTP/2与SSL 当你使用Varnish? 正如我们所了解的,Varnish 4.*不支持SSL, 我们需要找到一个方法来让这些组件协同工作. HTTP/2 正如你所设想的, 互联网进步我们终于有了新版本的HTTP协议, 它主要的有点是: -流与复用: 一个HTTP/2连接可以包含多个同时打开的流。请求的多路是由具有用它自己的流相关联的每个HTTP请求/响应交换实现的。流基本上是相互独立的,因此阻塞或失速请求或响应不会阻止上其他流的进展。 -报头压缩: 在HTTP / 1.1中 Continue Reading