摘要: 开发过程中,难免会有发生错误或异常的时候,有些是需要及时通知到相关开发人员的。logback可以通过简单的配置达到邮件告警的目的。 一、错误告警 如下配置,所有Error级别的log发送邮件告警给receiver(多个receiver以逗号分隔) Error级别日志: 收到告警邮件: 记入ex,可以 阅读全文
posted @ 2018-06-01 13:47 Mr.yang.localhost 阅读(1528) 评论(0) 推荐(0) 编辑
摘要: 一、遇到的问题 随着互联网技术和业务规模的发展,单个db的表里数据越来越多,sql的优化已经作用不明显或解决不了问题了,这时系统的瓶颈就是单个db了(或单table数据太大)。这时候就涉及到分库分表的问题了,很多开源解决方案来解决这个问题。比如(排名不分先后): 当当网的sharding-jdbc 阅读全文
posted @ 2018-05-19 17:59 Mr.yang.localhost 阅读(5992) 评论(0) 推荐(0) 编辑
摘要: 1、开发配置文件 在开发中经常会用到一些配置文件,便于在运行期间可以通过修改配置文件实现灵活的切换功能。而读取配置文件有很多方法,这些方法使用又会不一样。 2、读取的方式 2.1、项目结构 config.json: 2.2、读取项目内的文件 方法1: 方法2: 启动项目执行: getClass(). 阅读全文
posted @ 2018-05-19 17:55 Mr.yang.localhost 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 今天发现一个很坑的问题,浪费了很长的时间排查问题,特此记录下。目录结构如下图所示: 结果加载文件的时候,一直报错: 找不到resource文件夹下的 conf/mybatis/logDb/ 路径下的文件,URL不存在。 各种刷新都没用,后来右键文件,Copy Reference得到的路径如下:con 阅读全文
posted @ 2018-05-10 00:08 Mr.yang.localhost 阅读(2832) 评论(0) 推荐(0) 编辑
摘要: 1、使用common-cli编写命令行工具 commons-cli是Apache开源组织提供的用于解析命令行参数的包。 先引用common-cli依赖包: 命令定义: 命令解析: 执行命令: java -jar common-cli-demo-1.0-SNAPSHOT.jar -c c:\cli\d 阅读全文
posted @ 2018-05-08 00:33 Mr.yang.localhost 阅读(1461) 评论(0) 推荐(0) 编辑
摘要: 一、问题 软件开发过程中,常常会需要变更以前的接口,添加或删除接口请求字段,接口字段校验、甚至是变更请求/返回字段名称,如果强制要求所有客户端跟着一起升级代价太大。如果接口从一开始就考虑到了版本的设计,那么做到平滑升级就很容易了。 二、版本控制方式 1、利用url传入版本 以@RequestMapp 阅读全文
posted @ 2018-05-03 00:27 Mr.yang.localhost 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 一、什么是spring-boot-starter-actuator(doc) springboot项目如何检查配置与运行状态呢?官方提供了一些接口可以查看springboot项目运行情况,只需要导入spring-boot-starter-actuator,项目集成: 二、监控api 几个api示例: 阅读全文
posted @ 2018-04-29 23:28 Mr.yang.localhost 阅读(1588) 评论(0) 推荐(0) 编辑
摘要: 一、问题 软件开发中经常有开发环境、测试环境、预发布环境、生产环境,而且一般这些环境配置会各不相同,手动改配置麻烦且容易出错,如何管理不同环境的配置参数呢?spring-boot + maven可以解决不同环境独立配置不同参数的问题。 二、多环境配置 不同环境的配置yml文件名不一样: applic 阅读全文
posted @ 2018-04-29 16:50 Mr.yang.localhost 阅读(33924) 评论(2) 推荐(0) 编辑
摘要: 一、分片策略 Sharding-JDBC认为对于分片策略存有两种维度: 数据源分片策略(DatabaseShardingStrategy):数据被分配的目标数据源 表分片策略(TableShardingStrategy):数据被分配的目标表 两种分片策略API完全相同,但是表分片策略是依赖于数据源分 阅读全文
posted @ 2018-02-28 21:45 Mr.yang.localhost 阅读(38218) 评论(2) 推荐(1) 编辑
摘要: 原文链接 批量操作优化: 在使用redis的时候,客户端通过socket向redis服务端发起请求后,等待服务端的返回结果。 客户端请求服务器一次就发送一个报文 -> 等待服务端的返回 -> 关闭连接 如果是100个请求、1000个请求,那就得请求100次、1000次 所以使用多个请求的时候使用管道 阅读全文
posted @ 2018-02-28 21:44 Mr.yang.localhost 阅读(1972) 评论(0) 推荐(1) 编辑