摘要: 一. 基于session的鉴权 多集群部署时一个网页的请求经过负载均衡后会发到多台后端机器上,此时就要求后端机器上有相同的sessionId, 可以使用Spring-session来做集群的共享session, >如果使用redis 业务量上来后还需要考虑redis扩容问题 [ redis集群自动对 阅读全文
posted @ 2018-08-09 16:11 funny_coding 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 处理静态资源的handler和处理Controller请求中的handler不同,对应的Interceptor也不同 查找对应handler是在DispatcherServlet中 因此一些自定义的Interceptor,默认不会对静态资源进行拦截 阅读全文
posted @ 2018-08-08 22:11 funny_coding 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 亿级流量架构 http://www.iteye.com/blogs/subjects/as-core servlet3.1对比 http://jinnianshilongnian.iteye.com/blog/2245925 通过异步化我们不会获得更快的响应时间,但是我们获得了整体吞吐量和我们需要的 阅读全文
posted @ 2018-08-08 21:57 funny_coding 阅读(85) 评论(0) 推荐(0) 编辑
摘要: #apach ab|abs ab -n -c xxx.html/js/css #jmeter windows/linux 配置bin目录到PATH环境变量 ```cmd jmeter -JTOKEN=Nzcwxxxx-ae0e10f -JUSER=cuham -JTHREADS=1 -JLOOP=1 阅读全文
posted @ 2018-08-07 17:06 funny_coding 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 索引使用不正确, 行级锁 dba手动误操作 lock后忘了unlock 正确的索引, 小事务 Error Code: 1786. Statement violates GTID consistency: CREATE TABLE ... SELECT. 方案1:设置全局参数,禁用GTID 方案2:分 阅读全文
posted @ 2018-08-07 16:58 funny_coding 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 线程内部缓存:a. 局部变量HashMap, 方法间传递 b. 使用ThreadLocal 本地缓存:单jvm内共享 可以使用(Concurrent)HashMap自己实现,也可以使用GuavaCache。 guavaCache支持过期自动删除(全局的过期时间),垃圾回收, 回收通知。。。 远程缓存 阅读全文
posted @ 2018-08-05 19:08 funny_coding 阅读(2327) 评论(0) 推荐(0) 编辑
摘要: spring boot admin管理端, 需要部署成独立的应用 pom中添加依赖 appllication.properties: 管理端的端口设置为8091, 查看其他应用的状态也是从这个端口访问 应用代码修改: 入口加上 @EnableAdminServer spring boot admin 阅读全文
posted @ 2018-08-04 19:47 funny_coding 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 下载groovy的sdk, 解压后设置GROOVY_HOME和PATH变量 http://groovy-lang.org/download.html 使用IDEA创建java项目勾选Groovy组件 HelloWorld 分号不用写,public不用写, 变量都用def定义 编译后的class文件, 阅读全文
posted @ 2018-08-03 12:50 funny_coding 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 一个案例 POJO没有set方法, 造成反序列化时出现NPE问题。实际场景:POJO是第三方提供的,final 运行结果:Gson的输出true, FastJson输出null, 后面的业务逻辑使用getIsSuccess时很容易出现NPE FastJson坑真多, 上次遇到一个byte[]数组自动 阅读全文
posted @ 2018-08-03 10:18 funny_coding 阅读(694) 评论(0) 推荐(0) 编辑
摘要: 使用KeySet和EntrySet遍历的差别 运行多次后,两者差别有2秒左右 结论:使用EntrySet遍历时性能更高。《阿里开发手册》中也推荐使用EntrySet 原因分析:。。。 JDK8中Map interface有个default实现方法forEach, 遍历的也是EntrySet 阅读全文
posted @ 2018-08-02 22:53 funny_coding 阅读(369) 评论(0) 推荐(0) 编辑
build beautiful things, share happiness