来自于最近的一个实际场景中.
某个应用的依赖A依赖了B,应用A也直接依赖了B.(简化处理,实际情况还有几层)
如下:
linux性能优化参数小节
总结一些和性能相关的常见参数
编码之痛:操作系统迁移后redis缓存无法命中
前几天一台内网服务器从ubuntu迁移到了centos,检查一切正常后就没有太在意。
今天有同事反馈迁移后的机器上的服务一个缓存总是无法获取,对比了下环境、JVM参数,尝试了war包替换等方式照样复现。
在有问题的机器上装了redis-cli让同事去看也是可以获取到的,一时没有了头绪。
打算请教其他同事,让有问题的同事把查询等发我一下,然后就看到了… …. key设置为了中文,一下子头大了… …
jetty8 text/plain默认字符编码的坑
今天在测试一个content-type为text/plain
的API时发现后端requestBody乱码了,而线上正常。
自己本地使用jetty8版本,插件自带版本,而线上使用jetty9。
最开始没有特别注意版本的差异,毕竟这个插件也用了很久了一直没问题,就先从请求分析起。
设计数据密集型应用笔记1:可靠 可扩展可维护的应用
原书地址:Designing Data-Intensive Applications, 1st Edition
之前群里有人推荐,再在safaribooksonline上有60多个好评就先看了一章,阅读体验良好,这边记录一下笔记.
似乎之前看到过图灵社区在招这本书的译者,不过那时候可能都读了很多了.
主要是笔记的性质,记录一下概要和重要概念,有兴趣的可以购买阅读或者订阅safaribooksonline,此外作者在github放出了这本书所有章节的引用,看了些第一章的引用都是很不错的资料,或许可以不看这本书直接看提供的资料也可以(笑
使用异步任务降低API延迟_实践总结
之前在想如何降低API的延迟,这些API里有几个比较耗时的操作且是串行执行,那通过异步执行的方式理论上可以降低运行的时间,如下图所示:
常用失败控制模式
本文内容主要翻译自Reactive Systems Architecture第一章1.9节。
使用maven插件构建docker镜像
为什么要用插件
主要还是自动化的考虑,如果额外使用Dockerfile进行镜像生成,可能会需要自己手动指定jar/war位置,并且打包和生成镜像间不同步,带来很多琐碎的工作。
插件选择
使用比较多的是spotify的插件:https://github.com/spotify/docker-maven-plugin
和 https://github.com/spotify/dockerfile-maven。
但这里我选择另一款插件:https://github.com/fabric8io/docker-maven-plugin。
因为他文档比较详细,在使用上也比较方便。
文档地址:https://dmp.fabric8.io/