AlstonWilliams's Blog

Thinking will not overcome fear but action will.

编译ZooKeeper

最近在研究分布式系统,由于ZooKeeper作为一个键值存储系统,结构相对比较简单,但是麻雀虽小五脏俱全,是一个不错的适合新手阅读的项目,所以就选择了ZooKeeper. 在研究源码的过程中,我们少不了要自己进行调试.所以我们首先需要会编译ZooKeeper. 其实编译过程很简单.ZooKeeper使用了Ant+ivy作为依赖管理系统以及构建系统,其中ivy作为依赖管理系统,Ant作为构...

编译Flume

由于Flume不能满足我们的需求,我们打算在Flume的基础上进行开发.那我们首先就需要了解一下其手动编译安装的方式. 官网上说的很简单,一条mvn clean compile就完事了.而我编译时,则没有这么洒脱. 首先,由于众所周知的网络原因,好几个依赖都下载不下来.特别是eigenbase-properties,我特别搞不明白.当我访问它的对应的网页时,如果不用代理,那么一会好使,一...

简单的Docker容器监控工具.html

简单的Docker容器监控工具 简单的Docker容器监控工具 提到Docker容器的管理与监控,往往人们想到的都是Kuberbetes等这些分布式的工具.然而,要搭建一套这些东西,往往不简单.那有没有什么简单易用的方式呢?第一种方式,使用Docker自带...

第一次性能调优的经历

这两天,好不容易写完了全部的API.基本上做的差不多的. 于是乎,想看看到底会不会因为高并发而造成接口崩溃.就用JMeter测试了一下. 先测试最简单的一个获取用户相关信息的接口.因为是第一次测试,我就从小并发到大并发逐渐测试.先测试20个并发的情况.没想到,一测试,就出问题了. 下面是我们测试完20个并发访问的结果: 我从右下角的Average处,我们可以看到平均执行时间为31...

由Docker垃圾回收机制引发的一场血案

今天早晨,在我还没睡醒的时候,我们团队中的一名成员就告诉我,我写的微服务中,上传头像的那个没法用.而我在发布之前,已经测试过可以使用了.那这到底是怎么回事呢? 首先,我重新执行了一遍测试过程,发现生产服务器上的微服务上的这个上传头像的接口确实不可用. 然后,我在本地启动了一下微服务,同样测试了一下微服务.发现还是不可用.同时,通过本地打印错误日志,发现错误是在执行保存图片这个写操作的时候...

独白

好久没写随笔了. 这一段时间,也没有静下来学习,总是有各种各样的事情. 开始准备秋招,由于Java开发的笔试题中,有很多是无用的逻辑题,于是就一直找内推,找到内推后,面试地也很好,但是由于学历在这,过不去HR的这个坎. 就这样认了. 后来,感觉秋招无望了,就开始从网上海投了,当然,也是投一些比较感兴趣的公司,投了很多公司,有一家通过了面试,本来欢天喜地地想要去,后来跟同学商量了一下,...

独居

有人喜欢独居,有人喜欢群居. 而我,是一种很奇怪的生物. 有时,我喜欢独居,我认为这样我可以静下心来. 而更多的时候,我喜欢群居,因为独居容易懈怠,群居不会孤独. 但是,现在,我正在独居,而我此时最需要群居. 我千方百计想要集中心绪,来钻研某个问题.但是,有的问题,没有高昂的情绪,是不想解决的. 此时,我就需要群居的环境,来形成这种情绪. 那么此刻我能干什么呢? 无数人告诉我...

点赞模块的设计及优化

昨天晚上,跟我们的几名开发人员,去水吧开了个小小的会议,一起总结了一下过去一个月中的进度,并规划了下一步的开发计划. 期间,针对排名的问题,讨论了一下排名算法的设计. 而这个排名算法中的一个很重要的因子,就是点赞数. 之前针对点赞的功能,简单的讨论了一下,但是因为没有硬性需求,也一直没有进一步的讨论.而现在,为了这个排名算法,我们却是必须想办法实现它. 之前我们对点赞模块的设计中,一...

点赞模块中合并数据部分的实现

昨天我们谈了一下如何设计点赞模块,最后给出了优化这个模块的方案. 我们提到,可以通过合并收到的数据,来进行优化.而如何合并数据,就成了一个尤为重要的问题. 针对这个问题,我们也给出了几种解决方案,一种是重写Tomcat,通过Tomcat进行拦截并定时处理,但是这种方案,实现起来难度有些大,第二种是通过服务器在处理请求时,是为其新建一个线程来处理的原理,来实现,这种方案相对较简单一些,第三...

深入理解Java虚拟机总结-运行期优化

注:此文是我在读完周志明老师的深入理解Java虚拟机之后总结的一篇文章,请阅读此书获取更加详细的信息. 在这篇文章中,我们将会介绍: 编译器与解释器的关系 什么样的代码才会在运行时被编译成本地代码? 在何时被编译成本地代码? 如何编译成本地代码? 运行期都有哪些优化技术? 解释器与编译器 解释器就是在运行时,读取Class文件中的内容并解释执行,而编译器...