自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

韩超的博客 (hanchao5272)

路漫漫其修远兮,吾将上下而求索。

  • 博客(14)
  • 资源 (5)
  • 收藏
  • 关注

原创 记一次服务内存不断飙升的JVM调试过程

1.问题简述今天同事让我帮忙解决一个异常的服务,其表现如下:通过Spring Boot Admin监测到服务间歇性由状态UP变成OFFLINE。通过Spring Boot Admin监测到服务的状态变更是由于YGC导致的,JVM并未崩溃。通过k8s的pod监控发现内存使用率从16:10的15%飙升至17:40的33%。服务V最大内存8GB。服务某接口的压测结果:最大QPS为200左右...

2019-06-20 20:56:05 4774 8

原创 SpringBoot项目中通过MDC和自定义Filter操作traceId实现日志链路追踪

1.背景简述依赖原始的log4j2配置,很难从某服务庞杂的日志中,单独找寻出某次API调用的全部日志。本文通过在日志中打印唯一的traceId来实现每次调用的追踪。2.关键思路2.1.MDC日志追踪目标是每次请求级别的,也就是说同一个接口的每次请求,都应该有不同的traceId。每次接口请求,都是一个单独的线程,所以自然我们很容易考虑到通过ThreadLocal实现上述需求。考...

2019-06-15 16:39:56 18481 8

原创 在docker中启动arthas

简述arthas,阿尔萨斯,是Alibaba开源的Java诊断工具。github:https://github.com/alibaba/arthas本文主要描述,如何将其jar包传递至docker中并启动。下载wget https://alibaba.github.io/arthas/arthas-boot.jar拷贝至docker中进入docker所在宿主机。找到目...

2019-06-23 11:42:11 6509

原创 Mac OS下MAT(Memory Analyzer Tool)安装与启动

简述MAT(Memory Analyzer Tool),内存分析工具,是一款常用的JVM调优工具,对于分析内存泄漏(Memory Leak)有奇效。本文主要描述在Mac系统下,如何安装MAT及成功启动。环境操作系统:MacOS High Sierra 10.13.4MAT: 1.9.0.20190605下载地址:https://www.eclipse.org/mat...

2019-06-23 11:21:14 19495

原创 老生常谈-forwar的与redirect的区别与联系

forward一种servlet的跳转方式,称之为转发。forward是对request对象的调用。forward是一次纯服务端行为,服务端根据request对象,在服务端内完成请求处理和转发行为,然后响应给用户。由于forward的是服务端内部行为,因此客户端的浏览器网址是不会发生变化的。由于forward过程属于同一次请求(request),所以可以将信息放到request中,实...

2019-06-23 10:59:02 1049

原创 一文弄懂cookie、session和token是什么、生命周期与缺点

1.http是无状态的很久之前,网站的作用是只是用来文档浏览,http请求不需要记录当前用户在网站的访问状态等信息。http协议是无状态的,自然可以满足上述需求。随着网络发展,尤其是交互式网络的兴起,如何用户的访问信息称为了必须解决的问题。2.cookie2.1.起源1994年,网景通讯的员工Lou Montulli为了解决一个购物车功能,将"Magic Cookie...

2019-06-21 15:34:01 3586 3

原创 ZooKeeper命令:启动、查看状态、help、ls、create、get、set、stat、delete,四类节点、监视watch

查看状态与启动客户端查看状态[worker@103-17-143-sh-K05 bin]$ /ssd1/workspace/zookeeper/zookeeper2-3.4.12/bin/./zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /ssd1/workspace/zookeeper/zookeeper2...

2019-06-18 17:13:05 25009 2

原创 通过堡垒机/跳板机实现文件在本地Mac与服务器之间的互传

1.堡垒机堡垒机,也可以成为跳板机。日常开发中,有时候需要连接远程服务器。为了安全性等方面考虑,连接远程服务器之前,需要先连接堡垒机。本地服务器、堡垒机和远程服务器之间的架构简单描述如下图:访问远程服务器的正常流程:通过ssh登录堡垒机。通过ssh登录远程服务器。2.环境本地计算机:Mac OS 10.13.4,假定IP为10.10.10.10堡垒机:Linux vers...

2019-06-18 15:43:34 32539 3

原创 服务器磁盘爆满的问题定位流程与命令汇总

判断磁盘空间整体情况df -h:查看磁盘空闲情况,能够快速确认磁盘空间是否真的不足。[worker@11-22-33-44 ~]$ df文件系统 1K-块 已用 可用 已用% 挂载点/dev/sda2 747194920 110078560 637116360 15% /devtmpfs 32877752 ...

2019-06-17 16:25:28 2178 4

原创 记一次服务频繁崩溃的JVM调试过程

问题简介项目P负责提供数据统计分析查询服务。项目P之前的运行比较稳定。项目P最近每天都会崩溃。解决历史对所涉及表进行分库分表:问题未解决。将log4j升级成log4j2,并采用异步日志机制:问题未解决。升级jdk版本:问题未解决。优化外部服务API访问方式为池技术:问题未解决。本次解决过程通过jps -v获取启动参数[root@11.11.11.11 services...

2019-06-17 12:53:30 1392 2

原创 MySql通过Sharding-Sphere分库分表之后的在线DDL方案总结

1.概述之前,通过二次开发的分库分表中间件Sharding-Shere实现了对MySql的分表。由于某些原因,分库分表之后,原表和分表都在提供服务。现由于某些需求,需要对原和分表增加若干字段,并要求不能影响线上服务。此文章是对在线DDL的总结,前置文章如下:记一次分库分表——改造策略总结2.如何保证不影响线上服务经过调研,最终采用的是在线DDL插件:pt-online-schem...

2019-06-16 11:27:51 3145 1

原创 log4j与log4j2性能对比及log4j升级至log4j2方案

1.前言之前某个服务在压测环境中出现了问题,分析之后得知是log4jLogger对象争用厉害,很多线程阻塞在此。以上问题证明log4j在高并发高QPS情况下,是存在性能问题的。之后把log4j升级成了log4j2,并采取异步日志模式,解决了因日志造成的性能问题。2.性能对比关于log4j与log4j2的性能对比文章有很多,本文不过多描述,给出几张结论图及原文链接,作为参考...

2019-06-16 11:03:53 11206 5

原创 SpringBoot中通过Redis的setnx和自定义注解@Idempotent实现API幂等处理

1.简述目的:一定时间内,同样的请求(业务参数相同)访问同一个接口,则只能成功一次,其余被拒绝。2.引入redis支持因为需要通过redis的setnx确保只有一个接口能够正常访问,所以需要引入redis。2.1.pom.xml<dependency> <groupId>org.springframework.boot</groupId> ...

2019-06-15 11:32:55 6778 2

原创 Docker环境下注册eureka的微服务status-page-url和health-check-url异常问题排查结果整理

一、问题简述172.17.0.2:为docker容器内部IP地址。x00001.prod.shunyi.beijing为服务器名,即HostName。10.20.30.40:为服务器IP地址,使我们真正需要的地址。${pers.hanchao.ip}:为服务器IP地址的占位符表示方式,用于传递给docker容器。1.1.eureka注册成功之后的正常表现在eureka注册中心,...

2019-06-15 11:02:53 6652 1

dataimport.properties

Solr自动更新配置文件的配置文件,修正版本,亲测可用

2018-05-03

apache-solr-dataimportscheduler-1.0-with-source.jar(修正版)

对apache-solr-dataimportscheduler-1.0.jar进行修改,解决原jar包bug。

2018-05-03

OnetasticInstaller.x86.exe

Microsoft Onenote的一款插件,可以以日历格式显示工作清单。

2018-02-02

plantuml.jar

PlantUML 不仅可以嵌套到各种文本编辑器,IDE 工具,也提供在线版,你用 sublime、你用 Android Studio,你用 Eclipse,你什么工具都没有,裸机到只有一款浏览器,你也可以把 PlantUML 集成到服务器,等等,你都可以用 PlantUML。

2018-02-02

mysqlworkbench633.zip

MySQL Workbench是为MySQL设计的ER/数据库建模工具。是著名的数据库设计工具DBDesigner4的继任者。具有设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL 迁移的作用。

2018-02-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除