zookeeper 高可用集群搭建

2019-01-23
阅读 4 分钟
1.8k
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

从源码的角度再学「Thread」

2019-01-21
阅读 15 分钟
2.1k
Java中的线程是使用Thread类实现的,Thread在初学Java的时候就学过了,也在实践中用过,不过一直没从源码的角度去看过它的实现,今天从源码的角度出发,再次学习Java Thread,愿此后对Thread的实践更加得心应手。

解放双手 | Jenkins + gitlab + maven 自动打包部署项目

2019-01-16
阅读 7 分钟
6.9k
不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运行,这种方式对于单应用部署还算可以,不会耗费太大时间,但假如分布式项目,拆分为多个微服务部署,那么每个服务都打包部署一遍,发布上线可能会耗时非常久,Jenkins + gitlab + maven 可以实现自动打包,部署到远程服...

这是一次 docker 入门实践

2019-01-15
阅读 2 分钟
1.5k
其实接触 docker 也有一段时间了,但是一直没有做下总结,现在网上关于 docker 的介绍也有很多了,本着好记性不如烂笔头的原则,还是自己再记录一波吧。

前后端分离——token超时刷新策略

2019-01-11
阅读 2 分钟
5.8k
昨天发了一篇记录 前后端分离应用——用户信息传递 中介绍了token认证机制,跟几位群友讨论了下,有些同学有这么一个疑惑:token失效了,应该怎么做?强制定向到登录页?

前后端分离应用——用户信息传递

2019-01-10
阅读 14 分钟
3.7k
前言 记录前后端分离的系统应用下应用场景————用户信息传递 需求缘起 照例先看看web系统的一张经典架构图,这张图参考自网络: 在 Dubbo 自定义异常,你是怎么处理的? 中已经对该架构做了简单说明,这里不再描述。 简单描述下在该架构中用户信息(如userId)的传递方式: 现在绝大多数的项目都是前后端分离的开发模式,...

Dubbo自定义日志拦截器

2019-01-09
阅读 5 分钟
3.8k
上一篇文章 Spring aop+自定义注解统一记录用户行为日志 记录了 web层中通过自定义注解配合Spring aop自动记录用户行为日志的过程。那么按照分布式架构中Dubbo服务层的调用过程是否也可以实现统一记录日志?自定义日志拦截器可以实现这个需求。

String 源码浅析————终结篇

2019-01-08
阅读 19 分钟
1.3k
说说这几天看源码的感受吧,其实 jdk 中的源码设计是最值得进阶学习的地方。我们在对 api 较为熟悉之后,完全可以去尝试阅读一些 jdk 源码,打开 jdk 源码后,如果你英文能力稍微过得去,那么源码有相当详细的注释告诉你 api 的含义,具体用法。假设平时在写代码的过程中突然忘记了某个 api 的用法,那么有些新手没读过...

Spring aop+自定义注解统一记录用户行为日志

2019-01-07
阅读 10 分钟
3.6k
我们通常有这样一个需求:打印后台接口请求的具体参数,打印接口请求的最终响应结果,以及记录哪个用户在什么时间点,访问了哪些接口,接口响应耗时多长时间等等。这样做的目的是为了记录用户的访问行为,同时便于跟踪接口调用情况,以便于出现问题时能够快速定位问题所在。

Dubbo 自定义异常,你是怎么处理的?

2019-01-06
阅读 9 分钟
3.9k
前言 记录Dubbo对于自定义异常的处理方式. 实现目标 服务层异常,直接向上层抛出,web层统一捕获处理 如果是系统自定义异常,则返回{"code":xxx,"msg":yyy} 其中code对应为错误码,msg对应为异常信息 如果非系统自定义异常,返回{"code":-1,"msg":"未知错误"},同时将异常堆栈信息输出到日志,便于定位问题 项目架构 先...

String 源码浅析(一)

2018-12-30
阅读 9 分钟
1.5k
相信作为 JAVAER,平时编码时使用最多的必然是 String 字符串,而相信应该存在不少人对于 String 的 api 很熟悉了,但没有看过其源码实现,其实我个人觉得对于 api 的使用,最开始的阶段是看其官方文档,而随着开发经验的积累,应当尝试去看源码实现,这对自身能力的提升是至关重要的。当你理解了源码之后,后面对于 api...

傻瓜式学Python3——列表

2018-12-28
阅读 4 分钟
1.5k
前言: 好久不见,突然发觉好久没写博客了,最近迷上了 Python 无法自拔,了解了一下,Python 简单易学,尤其是接触过 java 的人,入门 Python 更是门槛极低,本着学习记录的原则,边学习边记录,有利于梳理学习的成果,也有利于后期的复盘,所以今天开始 Python 学习之旅的第一篇博客,纯粹只是记录。

线上CPU100%?看看这篇是怎么排查的!

2018-12-27
阅读 5 分钟
4.5k
作为后端开发工程师,当收到线上服务器CPU负载过高告警时,你会这么做?重启服务,忽略告警?不过在我看来一个合格的工程师是一定要定位到具体问题所在的,从而 fix 它。下面记录一下线上服务器 CPU 负载过高排查过程,把排查流程理清楚,以后遇到问题将会迅速定位到问题所在,快速解决。

解耦技巧——依赖注入!

2018-12-25
阅读 4 分钟
1.9k
在之前的一篇博客 Java Builder 模式,你搞懂了么? 中,我们提到了在 oop 编码设计中 只要能拿到类的实例,即对象,就能命令对象做一系列事情了。在 java/android 程序中,每个功能模块都由 n 个 类所组成,而每个类都封装了各自的功能,我们实例化每个类的实例,分别命令他们去完成指定的功能,但是,程序设计中,类之间...

Java Builder 模式,你搞懂了么?

2018-12-24
阅读 9 分钟
4.2k
前言:最近闲来无事的时候想着看看一些平常用的三方库源码,没想到看了之后才知道直接撸源码好伤身体,一般设计优秀的开源库都会涉及很多的设计模式,就比如 android 开发使用频繁的 okHttp 打开源码一看,纳尼?Builder 模式随处可见,于是乎,这篇文章就来对 Builder 模式进行一个简单总结,主要针对便于分析 android ...