Clear Blog

Look what's happening here,it's magical

kubernetes集群搭建问题汇总

将我在搭建kubernetes集群过程中遇到的一些比较棘手的问题记录下来。 1.docker.service failed. journalctl -xn 查看内核日志 Error starting daemon: error initializing graphdriver: driver not supported [graphdriver] prior storage drive...

jenkins自动化构建docker镜像,kubernetes滚动升级部署

在开发联调过程中,频繁打包到测服正服,再去手动部署是非常麻烦且浪费精力的事情。 于是我就想尝试自动化打包,自动化部署升级。 于是就有了jenkins,kubernetes的学习。 以下记录我的配置过程。 1.Install jerkins ● 配置jdk和maven,配置jenkins的全局工具 ● 部署jenkins,建议使用jenkins.war,使用-httpPort=8081...

线上集群load飙升排查过程

Concept top命令显示当前机器运行状况。 load average: 0.02, 0.04, 0.00。这三个数表示最近1分钟、5分钟和15分钟的系统平均负载。 系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程数。 在Linux中,进程分为三种状态,一种是阻塞的进程blocked process, 一种是可运行的进程runnable pr...

netty学习笔记

拆包粘包问题解决方案 消息定长,例如每个报文200个字节固定大小,如果不够,空格补位。FixedLengthFrameDecoder 在包尾部增加特殊字符进行隔断 DelimiterBasedFrameDecoder 将消息分为消息头和消息体,在消息头中包含消息总长度,然后进行逻辑处理 编解码 说白了就是java的序列化技术, 序列化的目的就两个, 进行网络传输, ...

文件压缩与解压缩

压缩分为两种,一种是像素压缩,一种是数据压缩。 这里我简单的写一下数据压缩的代码。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 5...

mongodb聚合查询

首先简单的谈一下mongodb,我个人觉得它的优点就是schemaless,不需要对象关系映射(ORM),性能非常好, 但是现在的云服务上,内存型数据库的费用是极其昂贵的,再者关联查询是非常麻烦的。 我不要求它有事务或者触发器这些等等,如果需要,我宁愿选择关系型db。 经验之谈:app中有送礼需求的,都会相应的出个恩爱榜,排行榜这样的需求。 我们将送礼记录存在了mongodb中,记录送礼...

CPU load过高导致

昨天有同事反应自己存在Redis中的数据失效了(正常情况下是不应该失效的)。 于是去定位下问题,发现redis占用cpu略高,这在测服有点反常,同时发现有另外一个进程占用的cpu达到了120%多,于是先从这个进程开始查。 这是一个java进程,再去看其线程情况, 1 top -Hp $pid 其中有个线程i(如:17495)占用CPU有90+,打算看下堆栈信息。 直接输出java进程的堆栈...

Reactor(反应器)模式

先简单介绍nio中的几个概念: 1.buffer:内存块,实质就是一个数组,nio数据读或写到中转地 2.channel: 通道,用于向buffer提供数据或读取数据,异步I/O支持 3.selector: channel时间的监听者,他能检测到一个或多个通道,并将时间分发出去 4.selectorKey:在channel上发生的事件,包含了事件的状态信息和时间以及对应的channel Ch...

等待通知机制

两个线程通过对同一对象调用等待 wait() 和通知 notify() 方法来进行通讯。 如两个线程交替打印奇偶数: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 4...

自旋锁

自旋锁 jdk的底层锁的实现除了synchronized关键字外,都是基于AQS(AbstractQueuedSynchronizer)来实现的, 那么就着重理解一下AQS。 其实在上一讲可重入锁中,我就是将自定义锁继承了AbstractQueuedSynchronizer, 它其实主要维护的就是一个维护volatile int state(代表共享资源)和一个FIFO线程等待队列(多线程争...