springboot为我们提供了很多的提升页面访问速度的优化方式,最简单的就是直接在配置文件进行配置。
以Thymleaf为例,在application.properties中添加如下配置:

#static
spring.resources.add-mappings=true                      为资源添加资源映射
spring.resources.cache-period= 3600                     缓存3600秒
spring.resources.chain.cache=true                       允许资源缓存
spring.resources.chain.enabled=true                     开启资源缓存
spring.resources.chain.gzipped=true                     开启静态资源gzip压缩
spring.resources.chain.html-application-cache=true      
spring.resources.static-locations=classpath:/static/    标记静态资源位置,一般都在classpath的static下

外部访问的时候就能看到访问速度明显提升。

这种方式仅适用于Thymleaf。

上周将一个线上应用从虚拟机迁移至kubernates中,用http访问正常,走https协议就报400BadRequest。
就很纳闷儿。

逻辑是这样的,从外网https协议进来,到nginx穿内网,证书在nginx上。到这儿都没问题。
nginx往后走的时候提示不能用http访问https协议。

就明白了,实际上是nginx这里已经将https协议降级为http了。
因此让运维配置https进来也走http端口,问题解决。

出处:http://www.cnblogs.com/softidea/p/5759180.html

一般在一个项目中,总是会有好多个环境。比如:

开发环境 -> 测试环境 -> 预发布环境 -> 生产环境

每个环境上的配置文件总是不一样的,甚至开发环境中每个开发者的环境可能也会有一点不同,配置读取可是一个让人有点伤脑筋的问题。

Spring Boot提供了一种优先级配置读取的机制来帮助我们从这种困境中走出来。

常规情况下,我们都知道Spring Boot的配置会从application.properties中读取。实际上,从resource目录下的application.properties文件读取是Spring Boot配置链中的一环而已。

Read More

不知道各位有没有这种体验,做需求的时候代码逻辑实现完了,但是看自己的代码总是有些别扭。

一个controller里实现了很多非必要的业务逻辑,比如异常处理逻辑,参数校验等,和业务逻辑夹杂在一起看起来很冗长。

这种感受我也体会过,在经过一段时间的练习和学习他人的写码技巧后,感觉这种全局异常处理、基于切面的异常处理等方式对提升代码可读性和美观性、简洁性很有帮助,因此分享出来,一方面是自己学习的总结,另一方面也希望能够为读者朋友们提供些许帮助。

Read More

骐骥一跃,不能十步;驽马十驾,功在不舍;锲而舍之,朽木不折;锲而不舍,金石可镂。

正式工作已经一年半了,感觉到自己的技术和经验还是有所提高的。

但是最近心里总是慌慌的,给我个需求,我能够在规定时间内按照产品的要求完成,对于一个技术点也能做到短时间内
用起来,但是总觉得哪里还是不够。
听了几套慕课网的实战课程之后,我感觉到自己在某些知识点上还是存在着漏洞和不足,对于原理性的只是总
是一看了之,没有形成一个明确的认知。

因此想制定一个进阶计划,时间就划分在未来两年,记录在此,勉励自己,督促自己。

Read More

背景

最近频繁的搭建测试环境,单机的软件还好,直接解压安装启动就好。对于集群的方式就得重复配置,有时候一次性还不能完全搭建完毕。加上时不时的断电,导致前功尽弃,因此想到用docker镜像来做这件事,配合上docker-compose的服务编排,分分钟就能搭建一个集群环境。本文就以搭建ZK集群为例,记录一下使用 Docker 搭建集群环境的一些步骤.

镜像下载

http://hub.docker.com 上有不少 ZK 镜像, 不过为了稳定起见, 我们就使用官方的 ZK 镜像吧.

Read More

在工作中时长会遇到配置https,今天就来聊聊如何为TOMCAT添加HTTPS的支持。

tomcat服务器一般使用的.jks文件配置SSL加密。但是,https供应商不会直接提供.jks文件。所以,我们就需要将加密文件转换成所需要的jks文件。
现将我遇到并解决的相关问题记录下来,仅供各位参考:

Read More

偶然翻看B站,发现《我的团长我的团》这部经典剧目又上架,不禁点开,第三次看,还是那般被吸引。
岂曰无衣,与子同袍。这句话,听闻之后便不会忘却,翻开大学时候写的观后感,沉浸其中,内心泛起的涟漪,
不能平静。

Read More

本文转载自:58沈剑 架构师之路

今天有朋友问我,说我的文章里,总是提“脱离业务的架构设计是耍流氓”。

每次都是架构根据业务折衷,有没有业务和产品由于技术难度太大来做折衷的?

当然有,当一个业务技术难度非常大的时候,可以通过业务和产品的优化,来简化系统架构。

以“12306车票秒杀”为例,秒杀业务架构难度大,业务和产品可以这么折衷:

Read More

Fork me on GitHub