12 2018 档案

摘要:Shiro 的加深理解: 1. Shiro 和 Spring 系组件的对标, Shiro = Spring Security + Spring Session. 就是说 Shiro 不仅仅是一个安全框架, 同时也是一个 Session 管理框架. 其实这也是很自然的事情, Shiro 会拦截所有的 阅读全文
posted @ 2018-12-29 14:59 harrychinese 阅读(920) 评论(0) 推荐(0) 编辑
摘要:Session 工作原理是什么? 因为 http 协议是无状态的, 对于服务器端来讲, 如何为不同的访问用户提供不一样的体验呢? 比如邮箱系统, 只有登录用户才能收发邮件. 这就需要服务器能识别每一个客户端访问, 知道哪些访问是来自一个同一个客户端, 显然这个事情光靠服务器端是做不到的, 需要浏览器 阅读全文
posted @ 2018-12-29 12:42 harrychinese 阅读(2364) 评论(0) 推荐(0) 编辑
摘要:背景 在系统生命周期中, 免不了要做升级部署, 对于关键服务, 我们应该能做到不停服务完成升级 (perform a zero downtime upgrade), 对于一般系统, 应该做到优雅地停服务. 如何做到不停服务的升级? 需要做到下面两点:1. 服务本身应该部署多份, 前面应该有 LVS/ 阅读全文
posted @ 2018-12-26 14:30 harrychinese 阅读(24154) 评论(1) 推荐(4) 编辑
摘要:原始代码 RoleService 类有删除角色和锁定角色两个函数. 问题分析:可以看到上面这两个函数逻辑完全一致, 仅仅是最终调用的函数不同, 应该能优化, 一个思路是: 将框架部分封装为一个公用函数, deleteRole() 和 lockRole() 函数调用该公共函数, 并将最终的 actio 阅读全文
posted @ 2018-12-19 21:42 harrychinese 阅读(627) 评论(0) 推荐(0) 编辑
摘要:对于项目而言, 我们一般会有DAO->Service->Controller分层设计, 这些层次体现了每层的作用, 而层次之间的数据传递对象设计很少被提及, 下面是一个相对完整的数据转换过程:Table层--(DO对象)-->DAO层--(DO对象)-->Service层--(DTO对象)-->Co 阅读全文
posted @ 2018-12-18 12:29 harrychinese 阅读(2832) 评论(0) 推荐(1) 编辑
摘要:注意点有:1. 不要启用 spring-boot-devtools, 如果启用 devtools 后, 不管是热启动还是手工重启, devtools总是试图重新恢复之前的session数据, 很有可能会导致session混乱.2. 在配置 Shiro 的filterChainDefinitionMa 阅读全文
posted @ 2018-12-12 17:08 harrychinese 阅读(1465) 评论(0) 推荐(0) 编辑
摘要:之前发了SpringBoot 单元测试的博客, https://www.cnblogs.com/harrychinese/p/springboot_unittesting.html , 内容较少, 现在补齐SpringBoot单元测试的主要知识点. 测试有很多种, 有单元测试 、集成测试 、冒烟测试 阅读全文
posted @ 2018-12-11 17:32 harrychinese 阅读(1895) 评论(0) 推荐(0) 编辑
摘要:消息的基本属性 消息的几个属性:type: 定义消息的 category, 比如 SQL 或 RPC 或 HTTPname: 代表一个动作 action, 详细的内容应该记录到 data 属性中, 而不是 name 属性, 比如: 对于 SQL type 来讲, name 应该是一个 SQL 模板, 阅读全文
posted @ 2018-12-11 09:22 harrychinese 阅读(2313) 评论(0) 推荐(1) 编辑
摘要:我们有三种部署方式:1. docker 部署2. 采用官方的 war 包部署. 3. 源码部署 很显然 docker 部署是最简单的, 我尝试了多次, 都在 cat docker 容器镜像的编译过程失败了. 原因是: 镜像编译需要先编译 java 源码为 war 包, 这中间要从 maven 官网库 阅读全文
posted @ 2018-12-10 10:36 harrychinese 阅读(3749) 评论(0) 推荐(0) 编辑
摘要:面上有很多优秀的 OS 级监控系统 (比如 falcon), 这些监控系统主要聚焦在 CPU/IO/Mem/Disk 和应用端口, falcon 甚至可以监控到 JVM. 但对于应用系统内部的一些监控, 比如程序的 exception/接口性能/调用链, 这些系统级的监控系统就不太好用了. 大众点评 阅读全文
posted @ 2018-12-10 10:03 harrychinese 阅读(1957) 评论(0) 推荐(0) 编辑
摘要:本文讲解如何在 Java 程序中集成 Apollo 配置, 主要涉及到一些基础用法. 对于一些高级用法, 比如如何加密/解密配置项 (可用于数据库密码配置), 如何动态切换数据源地址,如何动态切换日志级别, 可以参考官方的 user cases git 库, 官方代码库 https://github 阅读全文
posted @ 2018-12-05 15:42 harrychinese 阅读(3735) 评论(0) 推荐(0) 编辑
摘要:本博客讲详细讲解如何在 Windows 搭建携程 Apollo 服务器 (用户个人开发). 开发服务器有多种搭建方式:(1) docker, 搭建过程非常简单, 推荐有 docker 环境(2) 部署 Quick start 发行版, 本文采用 Quick start 版部署. Windows 服务 阅读全文
posted @ 2018-12-03 16:40 harrychinese 阅读(3827) 评论(0) 推荐(0) 编辑
摘要:这篇是 maven 项目管理的第二篇, 讲解使用 maven 进行多个项目管理, 之前有一篇是 maven 的基础知识. SpringBoot系列: Eclipse+Maven环境准备 一个完整的解决方案通常都会包含多个项目, 这些项目往往会有一些公用的依赖, 比如都依赖 SpringBoot, 各 阅读全文
posted @ 2018-12-01 16:50 harrychinese 阅读(1772) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示