首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
陈一尘
掘友等级
架构师
去伪存真,务实高效。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
118
文章 118
沸点 0
赞
118
返回
|
搜索文章
赞
文章( 118 )
沸点( 0 )
迁移 Docker 容器储存位置
这篇文章初稿是写在迁移服务器上的 GitLab 发布后,因为各种原因(忙碌+拖延症),一直躺在草稿箱种,考虑到使用容器的同学越来越多,系统减肥、数据迁移扩容类数据需求还是有的,所以趁着周末重新整理了一下这篇文章。 一般来说我们需要将系统磁盘和应用数据盘进行分离,除了能够获得更好…
给 wireshark 写一个 RocketMQ 协议解析的 lua 插件
学习 RocketMQ,需要搞懂两个东西:通信和存储。这里花了一点时间写了一个 RocketMQ 的 wireshark lua 插件,过程挺有意思,写出来记录一下。 通过阅读这篇文章,你会了解到下面这些知识。 从 wireshark 的 about 页面可以看到现在它支持的 …
一次 Docker 容器内大量僵尸进程排查分析
前段时间线上的一个使用 Google Puppeteer 生成图片的服务炸了,每个 docker 容器内都有几千个孤儿僵死进程没有回收,如下图所示。 这篇文章比较长,主要就讲了下面这几个问题。 Puppeteer 是一个 node 库,是 Chrome 官方提供的无界面 chr…
【180414】分布式锁(redis/mysql)
单台机器所能承载的量是有限的,用户的量级上万,基本上服务都会做分布式集群部署。很多时候,会遇到对同一资源的方法。这时候就需要锁,如果是单机版的,可以利用java等语言自带的并发同步处理。如果是多台机器部署就得要有个中间代理人来做分布式锁了。 常用的分布式锁的实现有三种方式。 目…
万字长文聊缓存(上)| 🏆 技术专题第八期征文
缓存的目的是为了提高系统的访问速度,让数据更加接近于使用者,通常也是提升性能的常用手段。缓存在生活中其实也是无处不在,比如物流系统,他们基本上在各地都有分仓库,如果本地仓库有数据,那么送货的速度就会很快;CPU读取数据也采用了缓存,寄存器->高速缓存->内存->硬盘/网络;我们…
一致性Hash算法Java版实现
在之前写了两篇关于缓存的文章《万字长文聊缓存(上)- http缓存》《万字长文聊缓存(下)- 应用级缓存》,谈到缓存不说一下一致性Hash算法那就是在耍流氓。 同理,当我们需要扩展一组新的redis机器,计算的公式index=hash(key) % 4,大量的key会被重新定位…
CompletableFuture让你的代码免受阻塞之苦
现在大部分的CPU都是多核,我们都知道想要提升我们应用程序的运行效率,就必须得充分利用多核CPU的计算能力;Java早已经为我们提供了多线程的API,但是实现方式略微麻烦,今天我们就来看看Java8在这方面提供的改善。
2W 字详解 Redis 集群环境搭建实践
Redis集群(Redis Cluster) 是Redis提供的分布式数据库方案,通过 分片(sharding) 来进行数据共享,并提供复制和故障转移功能。相比于主从复制、哨兵模式,Redis集群实现了较为完善的高可用方案,解决了存储能力受到单机限制,写操作无法负载均衡的问题。…
Spring Cloud Gateway-自定义异常处理
我们平时在用SpringMVC的时候,只要是经过DispatcherServlet处理的请求,可以通过@ControllerAdvice和@ExceptionHandler自定义不同类型异常的处理逻辑,具体可以参考ResponseEntityExceptionHandler和D…
Spring Cloud Gateway入坑记
最近在做老系统的重构,重构完成后新系统中需要引入一个网关服务,作为新系统和老系统接口的适配和代理。之前,很多网关应用使用的是Spring-Cloud-Netfilx基于Zuul1.x版本实现的那套方案,但是鉴于Zuul1.x已经停止迭代,它使用的是比较传统的阻塞(B)IO + …
下一页
个人成就
文章被点赞
3
文章被阅读
455
掘力值
63
关注了
74
关注者
1
收藏集
11
关注标签
20
加入于
2018-08-04