摘要:
Dubbo应用一般通过获取本机IP发布服务到zookeeper上,但是当应用部署到docker里时,拿到的本机地址是内网地址,很可能无法访问,本文介绍如何通过内外地址的映射将Dubbo与Docker以及Kubernetes集成起来。 阅读全文
摘要:
Arthas是一个类似于Btrace的JVM在线调试分析工具,具体可参考我之前写的一篇博客:[利用JVM在线调试工具排查线上问题](https://www.cnblogs.com/nxlhero/p/11660854.html)。本文分享笔者刚遇到的一个问题,虽然不复杂,但是很典型。 阅读全文
摘要:
用Python写算法题--洛谷P1149 火柴棒等式 阅读全文
摘要:
网络IO模型里有多个概念比较难理解,本文通过用Java实现一个简单的redis,从最简单的单线程单连接到NIO与netty,介绍不同的IO模型。 阅读全文
摘要:
http协议是互联网中最重要的协议之一,虽然看上去很简单,但是实际中经常遇到问题,我们就已经遇到好几次了。有长连接相关的,有报文解析相关的。对http协议不能一知半解,必须透彻理解才行。本文通过一个线上实例,详细介绍http协议中的content-length字段。 阅读全文
摘要:
我们的App因为错误的使用了HttpServletRequest,在异步线程中使用,导致session出现混乱,客户投诉,本文介绍了问题的原因。 阅读全文
摘要:
在生产上我们经常会碰到一些不好排查的问题,例如线程安全问题,用最简单的threaddump或者heapdump不好查到问题原因。为了排查这些问题,有时我们会临时加一些日志,比如在一些关键的函数里打印出入参,然后重新打包发布,如果打了日志还是没找到问题,继续加日志,重新打包发布。对于上线流程复杂而且审核比较严的公司,从改代码到上线需要层层的流转,会大大影响问题排查的进度。这个时候我们可以使用能够在线调试的工具帮助我们查找问题,例如btrace,可以动态的插入代码,极大提高我们查找问题的效率。本文通过生产案例介绍如何用这一类工具快速定位传统方法不好定位的问题。 阅读全文
摘要:
递归是计算机中一个最常见的概念,在平时编程中我们一般都会避免,因为递归可能引起诸多问题。但是递归在用于解释算法时比较清晰,本文详细介绍递归与迭代的区别,以及尾递归等概念。 阅读全文