![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
实用技巧
Java公众号_张少林同学
热爱生活!
展开
-
线上CPU100%?看看这篇是怎么排查的!
前言作为后端开发工程师,当收到线上服务器CPU负载过高告警时,你会这么做?重启服务,忽略告警?不过在我看来一个合格的工程师是一定要定位到具体问题所在的,从而 fix 它。下面记录一下线上服务器 CPU 负载过高排查过程,把排查流程理清楚,以后遇到问题将会迅速定位到问题所在,快速解决。什么样的场景会导致线上CPU负载过高?代码层面常见的场景有:程序陷入死循环,不停地消耗CPU线程死锁,线...原创 2018-12-27 22:17:46 · 253 阅读 · 0 评论 -
前后端分离——token超时刷新策略
前言记录一下前后端分离下————token超时刷新策略!需求场景昨天发了一篇记录 前后端分离应用——用户信息传递 中介绍了token认证机制,跟几位群友讨论了下,有些同学有这么一个疑惑:token失效了,应该怎么做?强制定向到登录页?其实理论上如果是活跃用户,token失效后,假如用户正在操作表单,此时突然定向到登录页面,那用户体验太差了。实现目标延长token过期时间活跃用户...原创 2019-01-11 09:39:42 · 2337 阅读 · 0 评论 -
Dubbo 自定义异常,你是怎么处理的?
前言记录Dubbo对于自定义异常的处理方式.实现目标服务层异常,直接向上层抛出,web层统一捕获处理如果是系统自定义异常,则返回{"code":xxx,"msg":yyy} 其中code对应为错误码,msg对应为异常信息如果非系统自定义异常,返回{"code":-1,"msg":"未知错误"},同时将异常堆栈信息输出到日志,便于定位问题项目架构先来张系统架构图吧,这张图来源自网...原创 2019-01-06 16:36:08 · 253 阅读 · 0 评论 -
Spring aop+自定义注解统一记录用户行为日志
写在前面本文不涉及过多的Spring aop基本概念以及基本用法介绍,以实际场景使用为主。场景我们通常有这样一个需求:打印后台接口请求的具体参数,打印接口请求的最终响应结果,以及记录哪个用户在什么时间点,访问了哪些接口,接口响应耗时多长时间等等。这样做的目的是为了记录用户的访问行为,同时便于跟踪接口调用情况,以便于出现问题时能够快速定位问题所在。最简单的做法是这样的: @GetM...原创 2019-01-07 13:51:22 · 597 阅读 · 0 评论 -
Dubbo自定义日志拦截器
前言上一篇文章 Spring aop+自定义注解统一记录用户行为日志 记录了 web层中通过自定义注解配合Spring aop自动记录用户行为日志的过程。那么按照分布式架构中Dubbo服务层的调用过程是否也可以实现统一记录日志?自定义日志拦截器可以实现这个需求。需求场景在使用Dubbo搭建的分布式项目中,服务层代码调用是这样的: @GetMapping(value = "/inf...原创 2019-01-09 10:23:48 · 602 阅读 · 1 评论 -
这是一次 docker 入门实践
前言其实接触 docker 也有一段时间了,但是一直没有做下总结,现在网上关于 docker 的介绍也有很多了,本着好记性不如烂笔头的原则,还是自己再记录一波吧。实现目标安装 docker ce探索 docker 基本概念及用法环境准备Centos7 64位,内核版本不低于 3.10安装 docker ce以下命令均需在 root 权限下执行。先卸载旧版本docker:...原创 2019-01-15 10:03:52 · 84 阅读 · 0 评论 -
前后端分离应用——用户信息传递
前言记录前后端分离的系统应用下应用场景————用户信息传递需求缘起照例先看看web系统的一张经典架构图,这张图参考自网络:在 Dubbo 自定义异常,你是怎么处理的? 中已经对该架构做了简单说明,这里不再描述。简单描述下在该架构中用户信息(如userId)的传递方式:现在绝大多数的项目都是前后端分离的开发模式,采用token方式进行用户鉴权:客户端(pc,移动端,平板等)首次登录...原创 2019-01-10 11:31:30 · 969 阅读 · 1 评论 -
解放双手 | Jenkins + gitlab + maven 自动打包部署项目
前言记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程!需求背景不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运行,这种方式对于单应用部署还算可以,不会耗费太大时间,但假如分布式项目,拆分为多个微服务部署,那么每个服务都打包部署一遍,发布上线可能会耗时非常久,Jenkins + gitlab + maven ...原创 2019-01-16 09:44:32 · 408 阅读 · 0 评论 -
zookeeper 高可用集群搭建
前言记录Zookeeper集群搭建的过程!什么是 Zookeeper ?ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。划重点:分布式应用程序协调服务,在分布式系统中,通常需要一个通用...原创 2019-01-23 12:27:06 · 143 阅读 · 0 评论