crossoverJie's Blog
  • Home
  • Archives
  • Categories
  • Tags
  • About
  • github
  • gscript
  • cim
  • vlog

一个线程罢工的诡异事件

背景事情(事故)是这样的,突然收到报警,线上某个应用里业务逻辑没有执行,导致的结果是数据库里的某些数据没有更新。 虽然是前人写的代码,但作为 Bug maker&killer 只能咬着牙上了。
2019-03-12
问题排查 > Java 进阶
#Java #Thread #concurrent #disruptor

一致性 Hash 算法的实际应用

前言记得一年前分享过一篇《一致性 Hash 算法分析》,当时只是分析了这个算法的实现原理、解决了什么问题等。 但没有实际实现一个这样的算法,毕竟要加深印象还得自己撸一遍,于是本次就当前的一个路由需求来着手实现一次。 背景看过《为自己搭建一个分布式 IM(即时通讯) 系统》的朋友应该对其中的登录逻辑有所印象。
2019-03-01
算法

VLOG-004:国产程序员的一天

VLOG 近些年非常流行,最近这段时间我也拍了一些来记录生活。 之前一直想记录自己上班生活的一天;至于为什么标题要加上一个国产两字,是因为之前看到一位国外女程序媛的一天(视频链接见底部),这次是想让大家看看在天朝国情下的反差。 a day in the life of a software engineer:https://www.youtube.com/watch?v=rqX8PFcOpxA
2019-02-20
VLOG

利用策略模式优化过多 if else 代码

前言不出意外,这应该是年前最后一次分享,本次来一点实际开发中会用到的小技巧。
2019-01-30
Java 进阶 > 设计模式
#Java #策略模式

长连接的心跳及重连设计

前言说道“心跳”这个词大家都不陌生,当然不是指男女之间的心跳,而是和长连接相关的。 顾名思义就是证明是否还活着的依据。 什么场景下需要心跳呢? 目前我们接触到的大多是一些基于长连接的应用需要心跳来“保活”。 由于在长连接的场景下,客户端和服务端并不是一直处于通信状态,如果双方长期没有沟通则双方都不清楚对方目前的状态;所以需要发送一段很小的报文告诉对方“我还活着”。
2019-01-23
Netty > cim
#Heartbeat #IM

为自己搭建一个分布式 IM 系统二【从查找算法聊起】

前言 最近这段时间确实有点忙,这篇的目录还是在飞机上敲出来了的。 言归正传,上周更新了 cim 第一版:为自己搭建一个分布式 IM(即时通讯) 系统;没想到反响热烈,最高时上了 GitHub Trending Java 版块的首位,一天收到了 300+ 的 star。
2019-01-14
Netty > cim
#IM #TrieTree

为自己搭建一个分布式 IM(即时通讯) 系统

前言大家新年快乐! 新的一年第一篇技术文章希望开个好头,所以元旦三天我也没怎么闲着,希望给大家带来一篇比较感兴趣的干货内容。 老读者应该还记得我在去年国庆节前分享过一篇《设计一个百万级的消息推送系统》;虽然我在文中有贴一些伪代码,依然有些朋友希望能直接分享一些可以运行的源码;这么久了是时候把坑填上了。 本文较长,高能预警;带好瓜子板凳。
2019-01-02
Netty > cim
#Redis #Zookeeper #IM #推送 #IOT

2018 年度复盘

前言看着今年的进度表已经所剩无几,是时候来复盘一把了。
2018-12-30
annual-summary

一次生产 CPU 100% 排查优化实践

前言到了年底果然都不太平,最近又收到了运维报警:表示有些服务器负载非常高,让我们定位问题。 还真是想什么来什么,前些天还故意把某些服务器的负载提高(没错,老板让我写个 BUG!),不过还好是不同的环境互相没有影响。
2018-12-17
问题排查 > Java 进阶
#Java #Thread #concurrent #JVM #disruptor

没错,老板让我写个 BUG!

前言标题没有看错,真的是让我写个 bug! 刚接到这个需求时我内心没有丝毫波澜,甚至还有点激动。这可是我特长啊;终于可以光明正大的写 bug 了🙄。 先来看看具体是要干啥吧,其实主要就是要让一些负载很低的服务器额外消耗一些内存、CPU 等资源(至于背景就不多说了),让它的负载可以提高一些。
2018-12-12
Java 进阶
#Java #JVM
1…1819202122…29

Search

Hexo Fluid
© 2016 – 2025 | 总访问量 次 总访客数 人