-
透过现象看原理:详解 Spring 中 Bean 的 this 调用导致 AOP 失效的原因
原文出处:光闪前言在我们使用Spring时,可能有前辈教导过我们,在bean中不要使用this来调用被@Async、@Transactional、@Cacheable等注解标注的方法,this下注解是不生效的。那么大家可曾想过以下问题为何致this调用的方法,注解会不生效这些注解生效的原理又是什么如果确实需要调用本类方法,且还需要注解生效,该怎么做?代理是否可以做到this调用注解就直接生效?通过......1,303 0 2018-06-04 15:43
-
Service Mesh 及其主流开源实现解析
原文出处:行思錄什么是ServicemeshServiceMesh直译过来是 服务网格,目的是解决系统架构微服务化后的服务间通信和治理问题。服务网格由sidecar节点组成。在介绍servicemesh之前,我们先来看一下什么是sidecar.Sidecar在软件系统架构中特指边车模式。这个模式的灵感来源于我们生活中的边三轮:即在两轮摩托车的旁边添加一个边车的方式扩展现有的服务和功能。在绝地求生吃......1,717 0 2018-06-04 15:43
-
Http 持久连接与 HttpClient 连接池
原文出处:kingszelda一、背景HTTP协议是无状态的协议,即每一次请求都是互相独立的。因此它的最初实现是,每一个http请求都会打开一个tcpsocket连接,当交互完毕后会关闭这个连接。HTTP协议是全双工的协议,所以建立连接与断开连接是要经过三次握手与四次挥手的。显然在这种设计中,每次发送Http请求都会消耗很多的额外资源,即连接的建立与销毁。于是,HTTP协议的也进行了发展,通过持久......1,102 0 2018-06-04 15:43
-
Kafka 源码分析2 : Network相关
原文出处:刘正阳背景我们直接跑到最底层,看看kafka的网络层处理是怎么处理的。因为Java的NIO还是偏底层,不能直接用来做应用开发,所以一般都使用像netty的框架或者按照自己的需要封装一些nio,让上层业务不用关心网络处理的细节,只需要创建服务监听端口、接受请求、处理请求、写返回就可以了。我在看netty、thrift等涉及到网络的Java框架时比较喜欢去看他们的nio是怎么封装的,这里也是......1,389 0 2018-06-04 15:43
-
numfmt : 让数字变得更容易理解
原文出处:暗无天日像 ls, df, du 这类命令都带有一个选项可以将数字直接转换成人类容易阅读的形式来展现。比如,直接执行 df 时,容量显示的是多少个块,而当用 df-h 时,容量会根据块的数量转换成G/M/K的形式。[lujun9972@T520~]$df文件系统1K-块已用可用已用%挂载点dev1900280019002800%/devrun190693286819060641%/run......17,006 0 2018-06-04 15:43
-
kafka 源码分析3: Producer
原文出处:刘正阳ProducerProducer是生产者的接口定义常用的方法有publicFuture<RecordMetadata>send(ProducerRecord<K,V>record);publicFuture<RecordMetadata>send(ProducerRecord<K,V>record,Callbackcallback);......1,021 0 2018-06-04 15:43
-
深入探索并发编程系列1 : 锁不慢;锁竞争慢
原文出处:Yebangyu译者按Preshing 的博客是学习并发编程的不可多得的资料,讲解比较详细。身边的很多朋友从中受益良多。我们在和作者沟通后,获得了授权,着手翻译了他的博客,刊登在这里,以飨朋友诸君。和一般的翻译不同,我们加上了独家的注释。注释要么是纠正错误,要么是辅助理解,要么是补充扩展;相信对大家会大有裨益。正文翻译:@Diting0x审校&&注释:@睡眼惺忪的小叶先森......1,162 0 2018-06-04 15:43
-
kafka源码分析3 : Producer
原文出处:刘正阳ProducerProducer是生产者的接口定义常用的方法有publicFuture<RecordMetadata>send(ProducerRecord<K,V>record);publicFuture<RecordMetadata>send(ProducerRecord<K,V>record,Callbackcallback);......850 0 2018-06-04 15:43
-
记一次内存溢出的分析经历 — thrift带给我的痛
原文出处:Janti说在前面的话朋友,你经历过部署好的服务突然内存溢出吗?你经历过没有看过Java虚拟机,来解决内存溢出的痛苦吗?你经历过一个BUG,百思不得其解,头发一根一根脱落的烦恼吗?我知道,你有过!但是我还是要来说说我的故事………………背景:有一个项目做一个系统,分客户端和服务端,客户端用c++写的,用来收集信息然后传给服务端(客户端的数量还是比较多的,正常的有几千个),服务端用Java写......1,001 0 2018-06-04 15:32
-
kafka 源码分析4: broker 处理生产请求
原文出处:刘正阳Kafkabroker上对于produce生产者生产消息的处理KafkaServer处理生成者请求入口在KafkaApis.scala,通过request.header.apikey判断消息类型defhandle(request:RequestChannel.Request){try{trace("Handlingrequest:%sfromconnection%s;securit......1,094 0 2018-06-04 15:31
-
使用logsave将命令输出保存起来
原文出处:暗无天日如果想要把命令的输出保存到文件中,你会怎么做?一个常用的方法就是使用IO重定向吧ls>/tmp/ls.txt2>&1如果需要在将命令输出保存到文件中的同时还需要将内容也输出到屏幕中的话,那么我们可以使用 tee 命令ls|tee/tmp/ls.txt不过,我今天发现还有一个 logsave 的命令,也可以做到将命令输出保存到文件的同时将内容页输出到屏幕中。lo......17,153 0 2018-06-04 15:31
-
MySQL的变量分类总结
原文出处:潇湘隐者在MySQL中,my.cnf是参数文件(OptionFiles),类似于ORACLE数据库中的spfile、pfile参数文件,照理说,参数文件my.cnf中的都是系统参数(这种称呼比较符合思维习惯),但是官方又称呼其为系统变量(systemvariables),那么到底这个叫系统参数或系统变量(systemvariables)呢?这个曾经是一个让我很纠结的问题,因为MySQL中......1,425 0 2018-06-04 15:31
-
Kafka 源码分析 5 :KafkaConsumer 消费处理
原文出处:刘正阳Kafka消费者客户端从Kafkacluster中读取消息并处理。Kafka消费者可以手动绑定自己到某个topic的某些partition上或者通过subscribe方法监听某个topic自动绑定。Kafka消费者绑定到某个parition后就和这个partition的leader连接,然后发出fetchrequest,获取消息后进行处理。offset管理kafka的消费模型是一个......978 0 2018-06-04 15:31
-
通过 jstack 与 jmap 分析一次线上故障
原文出处:kingszelda一、发现问题下面是线上机器的cpu使用率,可以看到从4月8日开始,随着时间cpu使用率在逐步增高,最终使用率达到100%导致线上服务不可用,后面重启了机器后恢复。二、排查思路简单分析下可能出问题的地方,分为5个方向:系统本身代码问题内部下游系统的问题导致的雪崩效应上游系统调用量突增http请求第三方的问题机器本身的问题三、开始排查查看日志,没有发现集中的错误日志,初步......1,044 0 2018-06-04 15:29
-
RocketMQ 源码学习 1 : 整体结构
原文出处:谢晞鸣1.为什么是RocketMQ为什么是RocketMQ,而不是ActiveMQ/RabbitMQ/Kafka呢?这不是技术选型,我只是想找一个业界比较好的、开源的MQ系统,学习一下MQ的工作原理。所以首选Java的(虽然语言对我来说不是问题,然还是有点学习成本的),这就只剩下RocketMQ和ActiveMQ了,这两个那就肯定选RocketMQ了,毕竟人家是这么吹牛逼的:“万亿级数据......1,345 0 2018-06-04 15:29