05 2020 档案
摘要:刚开始学习java时,我们习惯使用System.out.println()来打印日志,这样简单有效。但是在真正写业务代码时发现,没有standout,只有文件,需要把日志写入日志文件。在使用日志框架时,我们大部分使用了info和error级别。在使用比人提供的库时,有大量无效日志输出,干扰了我们的正
阅读全文
摘要:zookeeper的核心是采用树形存储目录,存储key-value数据。其采用分布式集群,存储少量的数据,保证数据的高一致性,分区容错性(CP), 而舍弃了高可用(A),因为在某些情况下是不可用的,比如选举的时候,是不可用的,需要重试。
阅读全文
摘要:kafka也属于MQ范畴,那么它相对于RabbitMQ等优势是什么呢?大概在于其持久化存储和扩展能力,这些点我们可以从它的设计中窥探一二。 设计还得看官网,时常看看官网,有不同的收获,这么一张图,可以理解其大致设设计 可以看出,其并没有遵守AMQP协议,没有Exchange,而是在中采用了topic
阅读全文
摘要:#1、脏数据或者场景考虑不全面引发的生产问题 就是一个简单的查询过滤接口,但是在生产环境却报了错,代码大致如下 if(board.getName() == null || board.getName() ==""){ iterator.remove(); } if(board.getPbiCode(
阅读全文
摘要:先从学习dubbo说起吧,感觉第一次接触dubbo就和接触spring的感觉一样,功能很多,不知道具体怎么使用。在springboot中使用swagger和mybatis都比较简单。但是在springboot中使用dubbo时,我不知道dubbo干了啥? 但是就像springboot的开始是从@Sp
阅读全文
摘要:之前读到rmi原理时,我还以为是使用了远程对象传输,然后在本地调用。然后发现这样存在很大的问题,对象的生存环境变化了,那么比如访问数据库,依赖的对象怎么办,这些没法序列化吧?这些考虑的问题来自于程序员的经验(嘿嘿)。后来看到一些博文,发现不是这样的。看着确实在本地生成了一个代理对象,方法调用也是在本
阅读全文
摘要:一个接口,se已经定义好了,但是你开发为什么这么慢?虽然之间穿插了别的事,但是还是很慢?是思路问题,还是技巧问题 多上点心,少写bug! 同事要求要上传压缩的文件,刚好之前有一个压缩函数,于是ctr+c/v。我没事,review code,理解一下压缩文件的原理。当我看源码时,却发现了一个bug:
阅读全文
摘要:linux系统是整个云服务的基石,也是网络服务的主流服务器,一定要熟悉linux的使用。比如查看/var/run目录下的文件,发现有很多pid和socket文件,还有wifi的文件,应该都是和网络通信相关的。在比如/usr/bin里面是可执行文件,常用的linux命令都在里面,也就是说当在linux
阅读全文
摘要:看过谢希仁老师的《计算机网络》,但是当时编程能力弱,没有实践经验,现在遇到了关于网络连接方面的问题,还是有必要复习和梳理一些概念和过程。tcp协议存在于5层网络模型中的传输层,三次握手说的就是tcp。 看一下官方的描述: TCP是Tranfer Control Protocol的简称,TCP协议是一
阅读全文
摘要:redis是一个key-value数据库,就像是java中List,Set,Map一样,使用内存存储数据,c语言编写,读写速度都很快。下载程序包,只有2Mb大小,可以说非常轻量级了。打开redis的目录,可以看到一个makefile,这个正是为了c语言编译的。如果有编译好的二进制文件,只要运行就可以
阅读全文