自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

架构师尼恩

JAVA架构师,《java高并发三部曲》《Netty、Zookeeper、Redis高并发实战》《SpringCloud Cloud、Nginx高并发核心编程》作者,精于SpringCloud Cloud、Nginx、Netty、JVM、

  • 博客(362)
  • 资源 (4)
  • 收藏
  • 关注

原创 红黑树( 图解 + 秒懂 + 史上最全)

文章很长,建议收藏起来慢慢读!疯狂创客圈总目录 语雀版 | 总目录 码云版| 总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 经典图书:《Java高并发核心编程(卷1)》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领 免费赠送 经典图书:《Java高并发核心编程(卷2)》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领 免费赠送 经典图书:《Nett

2022-05-28 13:31:12 9236 10

原创 分布式事务 (秒懂)

疯狂创客圈 经典图书 : 《Netty Zookeeper Redis 高并发实战》 面试必备 + 面试必备 + 面试必备 【博客园总入口 】疯狂创客圈 经典图书 : 《SpringCloud、Nginx高并发核心编程》 大厂必备 + 大厂必备 + 大厂必备 【博客园总入口 】入大厂+涨工资必备: 高并发【 亿级流量IM实战】 实战系列 【 SpringCloud Nginx秒杀】 实战系列 【博客园总入口 】1 分布式事务(史上最全解读)1.1 ..

2020-11-02 23:05:33 39365 19

原创 Zookeeper 分布式锁 - 图解 - 秒懂

疯狂创客圈 Java 分布式聊天室【 亿级流量】实战系列之 -26【 博客园 总入口 】文章目录写在前面1.1. 分布式锁 简介1.1.1. 图解:公平锁和可重入锁 模型1.1.2. 图解: zookeeper分布式锁的原理1.1.3. 分布式锁的基本流程1.1.4. 加锁的实现1.1.5. 释放锁的实现1.1.1. 分布式锁的应用场景写在最后疯狂创客圈 亿级流量 高并发IM 实战 系...

2019-01-06 22:49:33 68440 34

原创 JAVA死磕系列 疯狂创客圈

无编程不创客,无案例不学习。疯狂创客圈,一大波高手正在交流、学习中!疯狂创客圈 Java 死磕系列: 【博客园 总入口】 QQ群:104131248【Netty 集群 分布式实战 】 实战从0开始,实战 亿万级 流量的 Netty 集群 IM后台 链接:实战Netty集群 社群开源 亿万级实验实战项目 crazyim Netty 原理死磕 系列...

2018-05-05 19:30:02 5997 1

原创 480万商品,如何架构商品治理平台?

各个业务线都采用了标准化的微服务架构设计,各个系统在迭代过程中只需按需申请对应的组件。日志服务:提供日志采集和查询服务。RPC调用:利用京东的 JSF 平台,实现服务间注册、服务间调用和服务治理等功能,支持请求超时自动阻断。服务监控:使用统一监控与告警服务平台,实现秒级监控、多方位监控、服务告警、全链路追踪等功能。分布式调度引擎:基于 TBSchedule 分布式调度引擎框架构建的服务,负责定时任务的执行和分发。高性能存储:使用 Redis 集群、MySQL 集群等。消息中间件。

2023-09-27 19:21:05 80

原创 网易一面:Eureka怎么AP?Nacos既CP又AP,怎么实现的?

Eureka 使用 Peer to Peer 模式进行数据复制。Eureka 通过 http header就是 HEADER_REPLICATION 解决循环复制问题。Eureka 通过 lastDirtyTimestamp 解决复制冲突。Eureka 通过心跳机制实现数据修复。Distro 协议是 Nacos 针对临时实例数据开发的⼀致性协议。数据存储在缓存中,并在启动时进行全量数据同步,定期执行数据校验。遵循 Distro 协议的设计理念,每个 Distro 节点均能接收读写请求。

2023-09-27 14:58:58 59

原创 滴滴一面:MySQL主从复制不一致,主要原因是?

MySQL 相关面试题,是非常常见的面试题。以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典PDF》,并且在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。

2023-09-25 15:07:32 96

原创 100万级连接,石墨文档WebSocket网关如何架构?

尼恩决定:给大家出一章视频介绍这个项目的架构和实操,《33章:10Wqps 高并发 Netty网关架构与实操》,让你简历金光闪闪、脱胎换骨。本文分享了石墨文档长连接网关从1.0架构演进到2.0的过程,并总结了整个性能优化的实践过程。

2023-09-24 18:52:00 497

原创 滴滴一面:线程池任务,如何设置优先级?

线程池底部是怎么进行线程调度的?线程如何进行抢占和优先级设置?对于有优先级要求的场景下,怎么设置线程池?线程池的知识,既是面试的核心知识,又是开发的核心知识。 所以,这里尼恩给大家做一下系统化、体系化的线程池梳理。

2023-09-23 18:08:43 314

原创 NIO圣经:一次穿透NIO、Selector、Epoll底层原理

epoll作为linux下高性能网络服务器的必备技术至关重要,Java NIO、nginx、redis、skynet和大部分游戏服务器都使用到这一多路复用技术。epoll的重要性,大厂面试必备,不少大厂在招聘服务端同学时,可能会问及epoll相关的问题。比如epoll和select的区别是什么?epoll高效率的原因是什么?

2023-09-23 12:03:22 88

原创 滴滴一面:说说MySQL主从数据同步机制

主从同步相关面试题,是非常常见的面试题。以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典PDF》,并且在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。

2023-09-19 21:26:55 108

原创 怒赞,阿里P8推荐的Java面试宝典:41个专题PDF(史上最全+面试必备)

40岁老架构师 尼恩 经过对大量 Java面试题 的不断梳理、迭代, 编著成5000页的《尼恩Java面试宝典》,致力于体系化, 系统化,形象化 梳理,形成一个大的知识体系,从而帮助大家 进大厂,拿高薪!

2023-09-19 20:09:41 157

原创 单体120万连接,小爱网关如何架构?

最近,尼恩指导一个小伙伴简历,写了一个《长连接网关项目架构与实操》,此项目帮这个小伙拿到 字节/阿里/微博/汽车之家 面邀, 所以说,这是一个牛逼的项目。为了帮助大家拿到更多面试机会,拿到更多大厂offer,尼恩决定:9月份給大家出一章视频介绍这个项目的架构和实操,《33章: 10Wqps 高并发 Netty网关架构与实操》,预计月底发布。然后,提供一对一的简历指导,这里简历金光闪闪、脱胎换骨。

2023-09-17 17:24:19 138

原创 亿级长连接,淘宝接入层网关的架构设计

架构之路,充满了坎坷。架构问题是open/开放式的,架构问题是没有标准答案的。正由于这样,很多小伙伴在转型之路上 耗费很多精力,耗费很多金钱,但遗憾的是,一生都没有完成架构升级。所以,在架构升级/转型过程中,确实找不到有效的方案,可以来找40岁老架构尼恩求助.前段时间一个17年经验小伙伴,跨专业来做Java,也是面临转架构的难题,几个月没有offer,焦虑不以。但是经过尼恩几轮指导,顺利拿到了Java架构师+大数据架构师offer。

2023-09-15 10:11:57 104

原创 微博一面:RPC怎么做零呼损?

RPC 相关面试题,是非常常见的面试题。以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典PDF》,并且在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。

2023-09-13 08:19:50 137

原创 怒赞了,阿里P8面试官推荐的Java高并发核心编程文档

学完阿里P8面试官推荐的Java高并发核心编程文档后,终于拿到了蚂蚁p6的offer,这份文档包含的内容有点多。Java高并发核心编程文档《尼恩Java高并发三部曲》获读者怒赞!由浅入深地剖析了高并发IO的底层原理。图文并茂的介绍了TCP、HTTP、WebSocket协议的核心原理。细致深入地揭秘了Reactor高性能模式。全面介绍了Netty框架,并完成单体IM、分布式IM的实战设计。详尽地介绍了ZooKeeper、Redis的使用,以帮助提升高并发、可扩展能力。

2023-09-12 18:09:41 115

原创 微博一面:JVM预热,你的方案是啥?

什么是 JVM 预热?预热是指,在 JVM 启动后,JVM 刚刚启动后,我们并不会立即向调用方提供正常的流量,而是通过采用一些技术手段,先用较小的流量对服务进行预热warmup,直到服务能够按照预期的响应时间提供服务为止。

2023-09-10 18:12:19 358

原创 100万级连接,爱奇艺WebSocket网关如何架构

WebSocket 是实现服务端推送的主流技术,适当使用可以有效提升系统响应能力,增强用户体验。通过 WebSocket 长连接网关,可以迅速为系统增加数据推送能力,有效降低运维成本,提高开发效率。长连接网关的价值在于1)它封装了 WebSocket 通信细节,与业务系统解耦,使得长连接网关与业务系统可独立优化迭代,避免重复开发,便于开发与维护;2)网关提供了简单易用的 HTTP 推送通道,支持多种开发语言接入,便于系统集成和使用;

2023-09-09 14:21:54 1255

原创 日200亿次调用,喜马拉雅网关的架构设计

架构之路,充满了坎坷架构和高级开发不一样 , 架构问题是open/开放式的,架构问题是没有标准答案的正由于这样,很多小伙伴,尽管耗费很多精力,耗费很多金钱,但是,遗憾的是,一生都没有完成架构升级。所以,在架构升级/转型过程中,确实找不到有效的方案,可以来找40岁老架构尼恩求助.前段时间一个小伙伴,他是跨专业来做Java,现在面临转架构的难题,但是经过尼恩几轮指导,顺利拿到了Java架构师+大数据架构师offer。所以,如果遇到职业不顺,找老架构师帮忙一下,就顺利多了。

2023-09-06 10:43:22 743

原创 千万级连接,知乎如何架构长连接网关?

几乎每个互联网公司都有一套长连接系统,它们在消息提示、实时通信、推送、直播弹幕、游戏、共享定位、股票行情等场景中得到应用。随着公司规模的扩大和业务场景的复杂化,多个业务可能都需要同时使用长连接系统。分别为各个业务设计长连接将会导致研发和维护成本大幅上升、资源浪费、增加客户端能耗、无法重复利用现有经验等问题。

2023-09-04 22:27:02 118

原创 日流量200亿,携程网关的架构设计

架构之路,充满了坎坷。架构和高级开发不一样 , 架构问题是open/开放式的,架构问题是没有标准答案的。正由于这样,很多小伙伴,尽管耗费很多精力,耗费很多金钱,但是,遗憾的是,一生都没有完成架构升级。所以,在架构升级/转型过程中,确实找不到有效的方案,可以来找40岁老架构尼恩。

2023-09-04 16:44:46 323

原创 多级缓存 架构设计

面试经常遇到一个很重要的面试题:20w的QPS的场景下,服务端架构应如何设计?10w的QPS的场景下,缓存架构应如何设计?尼恩提示,缓存架构、缓存规划、缓存淘汰、多级缓存的数据一致性 相关的问题,是架构的核心知识,又是线上的重点难题。

2023-09-02 17:16:18 901 1

原创 百亿级访问量,如何做缓存架构设计

本文详细介绍了如何构建高可用的分布式缓存系统,包括架构基础知识、整体架构设计、实现原理、一致性模型以及故障处理等方面。一个优秀的缓存系统需要具备高可用性、高性能,并能保证数据的一致性和容错性。最后简单总结一下,对于微博Cache架构来说,从它数据架构、性能、储存成本、服务化不同方面进行优化增强。

2023-09-01 20:18:55 790

原创 大数据HBase学习圣经:一本书实现HBase学习自由

HBase(Hadoop Database的缩写)是一个开源的分布式、可扩展、高性能的NoSQL数据库,它是基于Google的Bigtable论文设计而来,构建在Hadoop生态系统之上。HBase的设计目标是为了处理海量数据,并且在这些数据上实现高效的实时随机访问。相比传统的关系型数据库,HBase提供了更适合大规模数据处理的数据模型和架构。本地模式是最简单的安装方式,适用于在本地单机上进行开发和测试。在本地模式下,HBase将运行在单一的Java进程中,数据存储在本地文件系统。

2023-09-01 09:37:24 1547

原创 消息推送 架构设计

企业级消息通知系统有哪些需求?如何满足?企业级消息通知系统,该如何做架构设计?尼恩提示,系统架构 相关的问题,是架构的核心知识,又是线上的重点难题。所以,这里尼恩给大家做一下系统化、体系化的梳理。

2023-08-30 10:43:42 231

原创 阿里2面:你们部署多少节点?1000W并发,当如何部署?

1000W并发,需部署多少个节点? 如何觉得部署多少个节点,是怎么预估以及部署的?部署架构、节点规划 相关的问题,是架构的核心知识,又是线上的重点难题。这里尼恩给大家做一下系统化、体系化的线程池梳理。

2023-08-27 21:57:31 314 1

原创 美团2面:5个9高可用99.999%,如何实现?

高可用通常用 2 个指标来衡量:- 平均故障间隔 MTBF(Mean Time Between Failure):表示两次故障的间隔时间,也就是系统「正常运行」的平均时间,这个时间越长,说明系统稳定性越高。- 故障恢复时间 MTTR(Mean Time To Repair):表示系统发生故障后「恢复的时间」,这个值越小,故障对用户的影响越小。

2023-08-26 14:30:11 267

原创 网易一面:单节点2000Wtps,Kafka怎么做的?

面试资格,遇到一几个很重要的面试题:问题1:单节点2000Wtps,Kafka高性能原理是什么?问题2:做过Kafka 进行性能压测吗?单个节点的极限处理能力是多少?是怎么做到的?注意,单个节点的极限处理能力接近每秒 2000万 条消息,吞吐量达到每秒 600MB那 Kafka 为什么这么快?如何做到这个高的性能?尼恩提示,Kafka相关的问题,是开发的核心知识,又是线上的重点难题。所以,这里尼恩给大家做一下系统化、体系化的线程池梳理。

2023-08-24 20:29:38 184

原创 字节一面:事务补偿和事务重试,关系是什么?

说说分布式中的补偿机制, 补偿和重试有何关系? 「事务补偿」和「重试」,它们之间的关系是什么?谈谈分布式系统中的补偿机制如何设计。这里尼恩给大家做一下系统化、体系化的梳理。

2023-08-23 19:48:34 562

原创 网易一面:25Wqps高吞吐写Mysql,100W数据4秒写完,如何实现?

当需要成批插入或者更新记录时,可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理。通常情况下,批量处理比单独提交处理更有效率addBatch(String):添加需要批量处理的SQL语句或是参数;executeBatch():执行批量处理语句;clearBatch():清空缓存的数据多条SQL语句的批量处理;一个SQL语句的批量传参;

2023-08-21 15:35:01 233

原创 亿级短视频,如何架构?

对象存储的出现是为解决了存储海量大数据的问题,如存储海量的视频、图片,并进行数据归档、数据备份、大数据分析等操作。对象存储一般采用key-object的扁平化存储架构,使用方便,调用API就可进行数据的多样化读写。其大容量、动态扩展、数据灾备等性能,是传统文件存储和NAS无法比拟的。MinIO是一套基于Apache License V2.0协议的轻量级、高性能开源对象存储框架,适用于图片、视频、镜像等海量非结构化数据存储。

2023-08-19 14:39:39 854

原创 大数据Flink学习圣经:一本书实现大数据Flink自由

本文是《大数据Flink学习圣经》 V1版本,是 《尼恩 大数据 面试宝典》姊妹篇。这里特别说明一下:《尼恩 大数据 面试宝典》5个专题 PDF 自首次发布以来, 已经汇集了 好几百题,大量的大厂面试干货、正货 。 《尼恩 大数据 面试宝典》面试题集合, 将变成大数据学习和面试的必读书籍。于是,尼恩架构团队 趁热打铁,推出 《大数据Flink学习圣经》,《大数据HBASE学习圣经》《大数据Flink学习圣经》 后面会不断升级,不断 迭代, 变成大数据领域 学习和面试的必读书籍,最终,帮助大家成长为 三栖合一

2023-08-18 14:22:36 1640

原创 史上最全HBase面试题,高薪必备,架构必备

《尼恩 大数据 面试宝典》 是 《尼恩Java面试宝典》姊妹篇。《尼恩 大数据 面试宝典》 后面会不断升级,不断 迭代, 变成大数据领域 学习和面试的必读,帮助大家成长为 三栖合一架构师,进大厂,拿高薪。

2023-08-17 19:40:12 107

原创 字节二面:10Wqps会员系统,如何设计?

千万级数据,如何做系统架构?亿级数据,如何做系统架构?千万级流量,如何做系统架构?亿级流量,如何做系统架构?高并发系统,如何架构?本文是尼恩是结合自己的3高架构笔记,以及尼恩的3高架构知识体系(3高架构宇宙)做的二次分析。

2023-08-17 16:15:39 211

原创 史上最全Flink面试题,高薪必备,大数据面试宝典

Flink 是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。并且 Flink 提供了数据分布、容错机制以及资源管理等核心功能。Flink提供了诸多高抽象层的API以便用户编写分布式任务。

2023-08-11 09:06:35 162

原创 炸裂,靠“吹牛”过京东一面,月薪40K

Cache Aside 是我们在使用分布式缓存时最常用的策略,你可以在实际工作中直接拿来使用。推荐使用Read/Write Through 和 Write Back 策略需要缓存组件的支持,所以比较适合你在实现本地缓存组件的时候使用;Write Back 策略是计算机体系结构中的策略,不过写入策略中的只写缓存,异步写入后端存储的策略倒是有很多的应用场景。

2023-08-07 19:53:11 289

原创 大厂必面:你们系统qps多少,怎么部署的?假设每天有几千万请求,该如何部署?

40岁老架构师尼恩,不知道做过多少架构方案。目前尼恩已经专门从事架构师转型辅导2年了,也不知道指导了多少开发完成了架构师的华丽转身。现在,给大家提供一份比较全面的参考答案。使得大家可以充分展示一下大家雄厚的 “技术肌肉”,让你的主管、同事爱到 “不能自已、口水直流”。

2023-08-05 14:36:26 322

原创 2分钟大白话:什么是大数据架构。人人好懂

数据量在 10PB数据记录在 100亿以上比如说 尼恩曾经 主导的一个 大型搜索中台项目数据量在 1PB数据记录在 1亿+数据规模一上来, 任务的执行就会很长,比如, 在 大型搜索中台项目,一个高频的、常规的、重要的 索引重刷任务,执行周期是多久呢?你以为是1小时实际上是10天。

2023-08-01 08:51:00 227

原创 太猛了,靠“吹牛”过顺丰一面,月薪30K

ES的优势有很多,其中最重要的是它可以快速地对大量数据进行搜索和分析。ES使用倒排索引技术来优化搜索速度,虽然空间消耗比较大,但是搜索性能提高十分显著。高性能的全文搜索:Elasticsearch是一个高性能的全文搜索引擎,可以快速地处理大量的文本数据。在电商平台这样的高并发场景下,使用Elasticsearch可以显著提高搜索性能。数据可视化和分析:Elasticsearch提供了丰富的数据可视化和分析工具,可以方便地进行数据分析和可视化。这对于我们平台这样的数据驱动型业务非常重要。

2023-07-30 20:55:26 289

原创 1000Wqps生产级IM,怎么架构?

40岁老架构师尼恩,站在B站1000Wqps生产级IM服务框架的巨人肩膀,再给大家提供一份比较全面的参考答案。通过这些企业级、工业级、生产级案例,大家可以在面试的时候,对比进行介绍,综合介绍。从而给面试官展示自己雄厚的技术实力、开阔的技术视野。

2023-07-29 20:41:05 256

Netty 粘包/半包原理与拆包实战 【源代码 新】

- 本实例是《Netty 粘包/半包原理与拆包实战》 一文的源代码工程。 大家好,我是作者尼恩。 在前面的文章中,完成了一个高性能的 Java 聊天程序,尼恩已经再一次的进行了通讯协议的选择。放弃了大家非常熟悉的json 格式,选择了性能更佳的 Protobuf协议。 本实例,解决粘包和半包问题

2018-11-11

Netty 粘包/半包原理与拆包实战 源码

本实例是《Netty 粘包/半包原理与拆包实战》 一文的源代码工程。 大家好,我是作者尼恩。 在前面的文章中,完成了一个高性能的 Java 聊天程序,尼恩已经再一次的进行了通讯协议的选择。放弃了大家非常熟悉的json 格式,选择了性能更佳的 Protobuf协议。 在上一篇文章中,并且完成了Netty 和 Protobuf协议整合实战。具体的文章为: Netty+Protobuf 整合一:实战案例,带源码 并且,专门开出一篇文章,介绍了通讯消息数据包的几条设计准则。具体的文章为: Netty +Protobuf 整合二:protobuf 消息通讯协议设计的几个准则 在开始聊天器实战开发之前,还有一个非常基础的问题,需要解决:这就是通讯的粘包和半包问题。

2018-11-11

netty+protobuf (整合源代码)

来自于疯狂创客圈 《netty+protobuf 整合实战》的源代码,付上了 protobuf 的 protoc 工具, protoc-2.6.1-win32.zip

2018-11-09

spring netty 整合 源代码

疯狂创客圈原创案例: spring netty 整合 源代码 ,一个完整的maven 工程,可以开箱就跑

2018-11-08

空空如也

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

TA关注的人

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