11 chiweitree

尚未进行身份认证

我要认证

码农

等级
TA的排名 4k+

【TCP】Connection reset by peer 原因分析定位

背景client和server通过websocket协议通信,长连接保活,server前有nginx做反向代理,client和server是多对多关系;server端定时给client下发任务,client执行任务并将结果上报给server,client还会定时给server发送心跳保活连接。现象系统运行一段时间之后,nginx上error日志频繁报错,如下:2020/0...

2020-04-28 18:02:19

【TCP】图解,一步一步拆解TCP包结构,各个字段分析

原始pcap包内容TCP包结构定义分析源端口目的端口序列号确认号序号是本报文段发送的数据组的第一个字节的序号。在TCP传送的流中,每一个字节一个序号。e.g.一个报文段的序号为300,此报文段数据部分共有100字节,则下一个报文段的序号为400。所以序号确保了TCP传输的有序性。确认号,即ACK,指明下一个期待收到的字节序号,表明该序号之前...

2020-04-22 15:59:00

【JAVA】SpringCloud Feign Ribbon Hystrix Nacos 第一次调用服务报错 close wrong [NA] failed to write cache for d

全部的报错信息如下[20-03-21 21:30:36:824][INFO ][org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]][http-nio-9277-exec-1]Initializing Spring DispatcherServlet 'dispatcherServlet'[20-03-2...

2020-03-21 23:29:24

【Thymeleaf】thymeleaf模板引擎发送邮件报错TemplateInputException: Error resolving template xxx

springboot2项目里结合thymeleaf模板引擎发送邮件,发现无法解析自定义的模板文件application中配置如下spring.thymeleaf.prefix=file:config/page这里只配置一个prefix,因为其它配置项默认配置都是对的,这里不需要配置了,可参考https://docs.spring.io/spring-boot/docs/2.2.4...

2020-02-29 13:49:01

【Nginx】proxy_pass的一个/斜杠引发的血案

背景一个nginx的server模块下需要proxy到两个server,所以就通过location的不同路径来区分转发到不同的服务器上。一开始是这么写的location / { proxy_pass http://server1/;}location /index { proxy_pass http://server2/;}但是忘记了serve...

2020-02-27 23:54:19

【JAVA】SpringCloud-Alibaba 结合 Nacos 实现配置动态刷新和服务注册发现

SpringCloud通常指的是Netflix的,今天我们讲的SpringCloud-Alibaba,有大厂背书,我选择相信,而且阿里巴巴的各项业务复杂度都在你我公司之上,所以经过大厂实战验证的可信度很高。目前SpringCloud-Alibaba提供的组件官网也有介绍,的确没有Netflix多,但是还在发展,没问题。其实大家用SpringCloud的核心目的就是转型微服务,做架构升级,而...

2020-02-20 14:44:53

【JAVA】 SpringBoot2.X 核心注解原理分析及ApplicationContext应用上下文创建过程

约定大于配置百度百科约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。SpringBoot即是约定大于配置的充分体现,包括SpringCloud也是这样。启动main函数这是大家最常见的springboot的启动main函数写法。在这个启动...

2020-02-19 17:24:00

【Redis】Redis 5.0 哨兵模式安装部署以及主备切换验证

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。安装redis 5.0 安装https://redis.io/download官网下载安装包解压安装sudo yum install gcc gcc-c++ -ymake...

2020-02-14 14:22:14

【JAVA】springboot2中自定义配置如何获取使用

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。定义配置在springboot2中自定义配置都是通过注解@ConfigurationProperties来读取的,代码示例如下@Getter@Setter@Component@ConfigurationPr...

2020-02-08 14:37:54

【JAVA】springboot2 中自定义多个线程池实现异步处理引入ThreadPoolExecutor的内部执行原理

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。springboot2中线程池的定义@Configurationpublic class ThreadPoolConfig { @Bean public Executor logExecutor() { ...

2020-02-08 14:03:11

【JAVA】eclipse 安装MAT工具分析java堆文件

java进程常见的问题有内存溢出,outofmemory,那么在内存溢出时可以dump出整个JVM进程的内存快照文件,后续通过该文件可以分析出具体原因,一般通过MAT工具进行分析。MAT安装安装第二个安装完重启...

2019-08-07 14:19:39

【JAVA】阻塞队列如何实现?分析JDK 阻塞队列源码实现

阻塞队列,顾名思义,在队列操作时有阻塞机制,防止出现数据不一致,这里只分析两个API的操作源代码offer(E e)生产者,生产元素1、加锁,ReentrantLock加锁保证了不会同时有多个生产者来生产元素,达到阻塞,否则数据错误乱2、判断当前队列里的元素数count,和队列容量capacity比较判断是否可以往里面生产元素3、数据入队4、计数器++5...

2019-05-22 11:31:04

【码出高效】craft the code , code the craft,各种代码汇总

该文主要将自己平时的积累的知识,或者认为重要的东西,以代码的形式分享出来或者记录下来,供自己也供大家一起来学习探讨。工程链接如下:github链接:https://github.com/cwtree/craft_the_code.git至于工程的内容,大家clone该工程后,通过package name就能简单区分出来了。...

2019-03-26 22:57:38

【JAVA】Webmagic 爬虫框架,带着问题解读源码

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。前言github地址https://github.com/cwtree/webmagicWebMagic的设计参考了业界最优秀的爬虫Scrapy,而实现则应用了HttpClient、Jsoup等Java世界最成熟的工...

2019-01-03 17:59:11

【FASTDFS】fastdfs上传文件报错 org.csource.common.MyException: getStoreStorage fail, errno code: 28 解决方法

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。这个报错要从一个tracker上的一个配置说起这个配置的含义是:storage上的剩余磁盘空间必须在10%以上才能上传文件成功,否则上传失败这个错误信息非常明确了,我们用的fastdfs的client ...

2018-12-29 09:30:38

【问题记录】JAVA进程启动大概率卡住6分钟左右,应用日志没有任何WARN ERROR,系统日志也没有发现和进程相关日志,最后定位TOMCAT SHA1PRNG耗时太长

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。系统是基于springboot开发的系统,java -jar启动过程中发现经常会卡住6分钟左右,才能启动完成,全程没有发现任何WANR和ERROR级别的日志(其实早看看DEBUG和INFO日志,可能问题早就解决了,惯性思维害人啊...

2018-12-20 08:57:28

【Fastdfs】Fastdfs分布式文件系统的安装部署使用,结合nginx访问图片,fastdfs连接池connectionpool编写使用,文末有github链接

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。环境:centos 7.X预编译安装组件yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel lib...

2018-12-14 11:39:59

【JAVA】CopyOnWrite的使用

好久没写文章了,最近有种深深的危机感,准备打打鸡血,温故以前看过但是工作中很少用到的知识点。 CopyOnWrite写时复制,JDK中一共有两个类CopyOnWriteArrayList和CopyOnWriteArraySet。顾名思义,就是只有容器中内容被修改的时候,就会copy出一个容器,然后在这个新的容器里改,之后将原容器的引用指向这个新的容器;好处就是对这个容器进行并发读写操作...

2018-10-23 16:29:38

【F5 UDP负载均衡】抓包实践,说说F5 UDP硬负载均衡探测后端服务器存活的原理

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。项目背景两台UDP SERVER,通过F5实现硬件的UDP负载均衡,发现UDP SERVER上会定期收到F5的UDP探测包,但是UDP SERVER并没有对这些探测包做过任何响应,所以不明白F5是如何知道UDP SERVER...

2018-07-25 14:57:52

【Kafka】kafka动态获取某个topic的partition信息

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。现在有这样一种场景,系统启动前,预期abc topic创建了一个100个分区,大概用个一段时间,之后可能会动态新增分区数,这就要求生产者在生产数据时,能够动态实时的获取分区数,做到及时有效的哈希生效,让数据进入新增的分区,kaf...

2018-05-17 15:50:35

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。