自定义博客皮肤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、

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

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

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

2022-05-28 13:31:12 10373 11

原创 分布式事务 (秒懂)

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

2020-11-02 23:05:33 45472 24

原创 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 69494 34

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

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

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

原创 听说你是高手?说说你的 JVM调优方法论 吧?(美团面试,问的贼细)

在JVM调优中,关键在于准确识别系统的性能瓶颈和优化方向,选择适合的调优策略和参数。实施调优方案后,必须验证效果,并持续监控系统性能,及时调整优化策略和参数以保持系统高性能和稳定性。同时,需要及时发现和解决各种潜在的性能问题,如内存泄漏、CPU飙升、频繁的垃圾回收等,以确保系统在高负载和复杂环境下能够保持卓越的性能表现。总之,JVM调优是一个持续改进的过程,通过对系统性能的深入分析和优化,确保Java应用程序在各种情况下都能够保持高效稳定的运行状态。

2024-05-19 23:45:03 906

原创 字节面试:MySQL什么时候 锁表?如何防止锁表?

总之,MVSQL在执行结构性修改、手动锁定、写操作、事务处理、索引操作、并发操作、加锁操作、以及在特定查询条件下索引失效,都可能需要对表进行锁定。了解这些情况,有助于更好地进行MySQL性能优化MySQL表锁、行锁的相关知识: 如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典PDF》,里边有大量的大厂真题、面试难题、架构难题。

2024-05-17 13:23:10 596

原创 精通RAG架构:从0到1,基于LLM+RAG构建生产级企业知识库

在AI的浩瀚宇宙中,语言模型犹如一艘艘探索船,它们通过预测单词序列的概率,解码语言的奥秘。这些由人工神经网络构成的模型,经过海量文本数据的洗礼,不仅理解语言的本质,更能预测序列中的下一个单词。当我们将这些模型的参数规模扩大到一个全新的量级时,便诞生了所谓的大型语言模型(LLM),它们以其庞大的参数数量,学习语言中的复杂模式,为世界带来了革命性的影响。幻觉现象在大型语言模型(LLM)中主要因其无法访问最新信息而产生,这一问题根源于模型对其训练数据集的严重依赖。

2024-05-16 10:12:49 933

原创 从0到1,百亿级任务调度平台的架构与实现

尼恩:百亿级海量任务调度平台起源在40岁老架构师 尼恩的读者交流群(50+)中,经常性的指导小伙伴们改造简历。经过尼恩的改造之后,很多小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试机会,拿到了大厂机会。这些机会的来源,主要是尼恩给小伙伴 改造了简历,植入了亮点项目、黄金项目。尼恩的 亮点项目、黄金项目 需要持续迭代。下一个亮点项目、黄金项目是:百亿级海量任务调度平台。于是,尼恩组织小伙伴开始研究和 设计 《百亿级海量任务调度平台》,帮助大家打造一个新的黄金

2024-05-15 10:08:20 447

原创 贝壳面试:MySQL联合索引,最左匹配原则是什么?

联合索引(Composite Index)是一种索引类型,它由多个列组成。MySQL的联合索引(也称为复合索引)是建立在多个字段上的索引。这种索引类型允许数据库在查询时同时考虑多个列的值,从而提高查询效率和性能。联合索引:也称复合索引,就是建立在多个字段上的索引。联合索引的数据结构依然是 B+ Tree。

2024-05-11 22:28:58 619

原创 DDD面试题:DDD聚合和表的对应关系是什么 ?(来自蚂蚁面试)

聚合”即“高内聚,低耦合”中的“内聚”之意;聚合是业务和逻辑紧密关联的实体和值对象组合而成,聚合是数据修改和持久化的基本单元,一个聚合对应一个数据的持久化;聚合在DDD分层架构中属于领域层,领域层包含了多个聚合,共同实现核心业务逻辑,聚合内的实体以充血模型实现个体业务能力,以及业务逻辑的高内聚;跨多个实体的业务逻辑通过领域服务来实现,跨多个聚合的业务逻辑通过应用服务来实现;首先我们来看下聚合模式的定义:将实体和值对象划分为聚合并围绕着聚合定义边界。

2024-05-10 12:41:42 928

原创 蚂蚁面试:DDD外部接口调用,应该放在哪一层?

聚合”即“高内聚,低耦合”中的“内聚”之意;聚合是业务和逻辑紧密关联的实体和值对象组合而成,聚合是数据修改和持久化的基本单元,一个聚合对应一个数据的持久化;聚合在DDD分层架构中属于领域层,领域层包含了多个聚合,共同实现核心业务逻辑,聚合内的实体以充血模型实现个体业务能力,以及业务逻辑的高内聚;跨多个实体的业务逻辑通过领域服务来实现,跨多个聚合的业务逻辑通过应用服务来实现;首先我们来看下聚合模式的定义:将实体和值对象划分为聚合并围绕着聚合定义边界。

2024-05-10 10:26:22 794

原创 阿里面试:事务ACID,底层是如何实现的?

事务(Transaction)是数据库管理系统执行过程中的一个逻辑单位,它由一个有限的数据库操作序列构成。事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个sql语句,这些语句要么都执行,要么都不执行。这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务的目的是确保数据的完整性和一致性,它通过一系列的操作,将数据库从一个一致性状态转换到另一个一致性状态。首先回顾一下MySQL事务的基础知识。

2024-05-06 03:15:54 990

原创 从0到10Wqps,大厂的智能客服平台,如何实现架构演进?

Faiss(Facebook AI Similarity Search) 是 Facebook AI 开发的用于高效相似性搜索和向量聚类的库。Faiss(Facebook AI Similarity Search) 提供了一系列高性能的算法和数据结构,用于处理大规模的向量数据,特别是在推荐系统、语义搜索、图像搜索等领域具有广泛的应用。Faiss支持基于内存和基于GPU的索引构建和查询,能够在大规模数据集上快速进行近邻搜索、相似性匹配和聚类操作。

2024-05-02 23:09:10 793

原创 蚂蚁面试:Springcloud核心组件的底层原理,你知道多少?

与Eureka 、Zookeeper集群不同Nacos 既能支持AP,又能支持 CP。Nacos 支持 CP+AP 模式,这意味着 Nacos 可以根据配置识别为 CP 模式或 AP 模式,默认情况下为 AP 模式。如果注册到Nacos的client节点注册时ephemeral=true,那么Nacos集群对这个client节点的效果就是AP,采用distro协议实现;

2024-05-02 22:04:02 873

原创 LLM大模型学习圣经:从0到1吃透Transformer技术底座

大语言模型(英文:Large Language Model,缩写LLM),即大型语言模型 (LLM),大型语言模型 (LLM) 之所以大,是指 具有大规模参数和复杂计算结构(超过 10 亿个参数),LLM通常基于 Transformer 模型架构,由深度神经网络构建,对海量数据进行预训练处理。LLM的特点是规模庞大,包含数十亿的参数,帮助它们学习语言数据中的复杂模式。大模型的底层转换器包含一系列神经网络,分为编码器和解码器,且具有自注意力功能。

2024-04-30 00:11:35 1211

原创 MVCC学习圣经:一文穿透MySQL MVCC,吊打面试官

MVCC机制的全称为,即多版本并发控制。MVCC主要是为了提升数据库并发性能而设计的,其中采用更好的方式处理了读-写并发冲突,做到即使有读写冲突时,可以实现并发执行,从而提升并发能力,确保了任何时刻的读操作都是非阻塞的。在众多的MySQL开源存储引擎中,几乎只有InnoDB实现了MVCC机制,其他的存储引擎如:MyISAM、memory等存储引擎中并未实现MVCC。

2024-04-20 14:15:46 1457

原创 字节面试:ThreadLocal内存泄漏,怎么破?什么是 ITL、TTL、FTL?

在Java的多线程并发执行过程中,为保证多个线程对变量的安全访问,可以将变量放到ThreadLocal类型的对象中,使变量在每个线程中都有独立值,不会出现一个线程读取变量时而被另一个线程修改的现象。ThreadLocal类通常被翻译为“线程本地变量” ,或者“线程局部变量ThreadLocal的英文字面翻译为“线程本地”,实质上ThreadLocal代表的是线程本地变量,可能将其命名为会更加容易让人理解。以下来至官网的解释简单翻译如下:此类提供线程局部变量。

2024-04-12 17:09:38 843

原创 得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?

SpringBoot 会根据类路径中的 jar包、类,为 jar 包里的类进行自动配置,这样就可以大大的减少配置的数量。简单点说,就是 SpringBoot 会根据定义在 classpath 下的类,自动给你生成一些 Bean,并且加载到 Spring 的 Context 中。那么,它的原理是什么呢?哪些 Bean 可以自动装配到容器里面呢?其实在 SpringBoot 内部,会读取 classpath 下文件中的所配置的类的全类名。

2024-04-11 11:14:20 1533

原创 得物面试:10wqps高并发,如何防止重复下单?

现在问题来了, 什么是重复下单?用户在下单页面进行下单时,由于用户点击下单按钮 多次 、或者 重试策略 导致在订单服务中接收到了 两次同样 的下单请求。所谓幂等性,就是一次操作和多次操作同一个资源,所产生的影响均与一次操作的影响相同。"幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。

2024-04-03 12:37:02 1698

原创 炸裂:MySQL死锁是什么,如何解决?

死锁是指两个或多个事务在执行过程中,因争夺锁资源而造成的相互等待的现象,若无外力干涉它们都将无法继续执行。通俗来说,就是两个或多个事务在等待对方释放锁,从而造成僵持不下,使得整个系统陷入停滞状态。什么是死锁DeadLock?是指两个或两个以上的进程在执行过程中, 因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。假设有两个事务 A 和 B,它们同时试图获取对方持有的资源,但又都在等待对方释放资源。

2024-03-31 23:28:22 1287 2

原创 手写一个跳表,跪了。。。

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis使用跳跃表作为有序集合键的底层实现之一,如果一个有序集合包含的元素数量比较多,又或者有序集合中元素的成员(member)是比较长的字符串时,Redis就会使用跳跃表来作为有序集合键的底层实现。

2024-03-21 22:40:56 1307

原创 字节面试: Mysql为什么用B+树,不用跳表?

MySQL中的B+Tree 原理B+Tree一般由多个页、多层级组成,在MySQL中每个页 16 KB。主键索引的 B+ 树的叶子结点才是数据,非叶子结点(内节点)存放的是索引信息。上下层的页通过单指针相连。同一层级的相邻的数据页通过双指针相邻。B+Tree的结构B+Tree一个节点是一个page,是一种多叉树结构,每个结点都是一个16k的数据页,能存放较多索引信息。一次IO一个page,大大节省了磁盘IO的操作。B+Tree一个page 能存放较多索引信息 ,所以树的层数比较低,三层。

2024-03-16 12:53:17 1333

原创 滴滴面试:Rocketmq消息0丢失,如何实现?

Broker端的配置,若想很严格的保证Broker存储消息阶段消息不丢失,则需要如下配置# master 节点配置# slave 节点配置上面这个配置含义是:Producer发消息到Broker后,Broker的Master节点先持久化到磁盘中,然后同步数据给Slave节点,Slave节点同步完且落盘完成后才会返回给Producer说消息ok了。严格的消息刷盘机制 + 严格的消息同步机制,能够确保 Broker端保证消息不丢失。

2024-03-14 21:45:43 1376

原创 史上最全:prometheus+alertmanager 实现监控预警

Prometheus中的告警规则允许你基于PromQL表达式定义告警触发条件,Prometheus后端对这些触发规则进行周期性计算,当满足触发条件后则会触发告警通知。默认情况下,用户可以通过Prometheus的Web界面查看这些告警规则以及告警的触发状态。当Promthues与Alertmanager关联之后,可以将告警发送到外部服务如Alertmanager中并通过Alertmanager可以对这些告警进行进一步的处理。回顾一下,时间相关参数参数名称说明默认值参数所属指标数据采集间隔。

2024-03-12 01:12:33 2246

原创 滴滴一面:Keepalived+Nginx高可用,如何实现IP跳跃?(1)

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

2024-03-09 21:32:08 1530

原创 网易面试:JDK1.8将HashMap 头插法 改 尾插法,为何?

HashMap是Java中的一种基于哈希表实现的,它允许我们使用键值对的形式来存储和获取数据。从根本上来说,一个哈希表包含一个数组,但是元素访问不是通过 index 编号的形式(比如 array[i]的形式),而是通过特殊的关键码(也就是key)来访问数组中的元素。存放Value的时候,通过一个哈希函数,通过 **关键码(key)**进行哈希运算得到哈希值,然后得到映射到(map到)的位置, 去存放值 ,读取Value的时候,也是通过同一个哈希函数。

2024-03-08 01:34:38 1581

原创 600万订单每秒Disruptor +SpringBoot,如何解决消息不丢失?

Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin Fowler专门撰写长文介绍Disruptor。2011年,Disruptor还获得了Oracle官方的Duke大奖。

2024-03-01 21:16:30 1436

原创 阿里面试:最佳线程数,如何确定?

线程相关的面试题,是非常常见的面试题。以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典》V174,在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。另外,如果没有面试机会,可以找尼恩来帮扶、领路。尼恩已经指导了大量的就业困难的小伙伴上岸,前段时间,帮助一个40岁+就业困难小伙伴拿到了一个年薪100W。

2024-02-26 22:50:31 1679

原创 绝命一问:秒杀Redis分段锁,如何设计?

比如说在一个分布式系统中,存在客户端多个用户,同时通过多个业务微服务,发起一个数据修改。如果没有分布式锁机制保证,在那多台机器上的多个服务可能进行并发修改操作,导致数据修改的不一致,出现脏读脏写,这就会造成问题。而分布式锁机制就是为了解决类似这类问题,保证多个服务之间互斥的访问共享资源,如果一个服务抢占了分布式锁,其他服务没获取到锁,就不进行后续操作。上图中,客户端1的服务抢占了分布式锁,可以去扣减库存。其他服务没获取到分布式锁,就不进行后续操作。

2024-02-26 08:57:30 1866

原创 美团面试:说说Java OOM的三大场景和解决方案?

OOM 全称 “Out Of Memory”,表示内存耗尽。官方说明: Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made available by the garbage collector.当 JVM 因为没有足够的内存来为对象分配空间,并且垃圾回收器也已经没有空间可供回收时,就会抛出这个错误。

2024-02-23 22:01:53 1609

原创 得物面试:Kafka消息0丢失,如何实现?

Consumer 程序有个“位移”(/位点)的概念,表示的是这个 Consumer 当前消费到的 Topic Partion分区的位置。下面这张图来自于官网,它清晰地展示了 Consumer 端的位移数据。enable.auto.commit=false 关闭自动提交位移,消息处理完成之后再提交offsetconsumer端需要为每个它要读取的分区保存消费进度,即分区中当前消费消息的位置,该位置称为位移(offset)。

2024-02-22 21:05:11 1764

原创 得物面试:Redis用哈希槽,而不是一致性哈希,为什么?

既然一致性hash那么完美,两大优点:1.既很少的数据迁移,2.又很少数据倾斜。Redis为什么使用哈希槽而不用一致性哈希呢?这个和redis 集群的架构特点有关系, redis 集群的架构特点,主要有两点:1.去中心化,2.方便伸缩 (自动伸缩、手动伸缩都可以)

2024-02-17 23:00:05 2609

原创 亿级推送,得物是怎么架构的?

得物推送监控上线后,带来的收益还是比较可观的,展望未来,后续可以从以下点丰富现有监控。后续将针对各个链路单元的推送异常、漏斗转化率、服务性能等做监控,进一步丰富消息平台的监控体系。后续将对推送的转化率问题进行监控后续将对卸载、屏蔽等指标也是我们需要监控的点,总之,通过对业务指标进行扩展,及时感知推送的效果,做到精细化的管控。推送系统,是一个很黄金的系统。如果写入简历,并且面试的时候能对答如流,如数家珍, 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。

2024-02-15 11:42:51 1805

原创 抛弃Spring Cloud Gateway,得物 使用Netty架构100Wqps网关

API 网关是一种服务器,作为应用程序编程接口 (API) 的入口点,它接收来自外部应用程序的请求,进行处理,并给出恰当的回应。你可以将它看作一个中间件,管理API的访问,并在请求与回应之间进行转换、路由、安全检查等操作。API网关的自研并非一蹴而就,而是经历了多次业务迭代循序渐进的过程;从早期的泛化路由引发的安全问题处理,到后面的大量路由注册,带来的匹配性能下降 ,以及最终压垮老网关最后一根稻草的内存泄漏问题;

2024-02-11 16:27:14 2094

原创 网易面试:请设计一个高可用性的软件架构,说明设计思路

高可用,英文单词High Availability,缩写HA,它是分布式系统架构设计中一个重要的度量。业界通常用多个9来衡量系统的可用性,在尼恩的 经典文章中, 一张图总结架构设计的40个黄金法则 ,给大家介绍了架构的本质:

2024-02-06 08:30:13 1551

原创 阿里面试:Seata如何实现RC?保证事务的隔离性?

以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典PDF》,里边有大量的大厂真题、面试难题、架构难题。很多小伙伴刷完后, 吊打面试官, 大厂横着走。在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。另外,如果没有面试机会,可以找尼恩来改简历、做帮扶。遇到职业难题,找老架构取经, 可以省去太多的折腾,省去太多的弯路。

2024-02-05 09:33:14 998 1

原创 阿里面试:设计一个大并发、大数据的系统架构,说说设计思路

以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典PDF》,里边有大量的大厂真题、面试难题、架构难题。很多小伙伴刷完后, 吊打面试官, 大厂横着走。在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。另外,如果没有面试机会,可以找尼恩来改简历、做帮扶。遇到职业难题,找老架构取经, 可以省去太多的折腾,省去太多的弯路。

2024-02-04 08:53:01 1398

原创 美团面试:Sentinel底层滑动时间窗限流算法怎么实现的?

Java Agent、Instrumentation、arthas 相关的面试题,是非常常见的面试题。以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典PDF》,里边有大量的大厂真题、面试难题、架构难题。很多小伙伴刷完后, 吊打面试官, 大厂横着走。在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。

2024-02-01 09:16:23 1187

原创 字节面试:微服务一定要DDD,为什么?TDD和DDD有何关系?

DDD 就是这种不可多得的微服务设计和拆分的理论和方法指导。宏观层面: 指导了微服务外部的建模,包括系统和系统之间, 微服务和微服务之间依赖关系的建模。微观层面:指导微服务内部的建模,包括 领域对象建模, 微服服务落地的各层关系的建模。正因为如此,DDD现在非常火爆,有其巨大生产价值、经济价值的, 绝不仅仅是一套概念那么简单。新项目都尽可能结合DDD进行设计建模、工程落地老项目也在使用DDD进行从点到面的改造,以榨取软件的最佳性能。

2024-01-28 20:49:07 884

原创 阿里面试:Sentinel熔断降级,是如何实现的?

Java Agent、Instrumentation、arthas 相关的面试题,是非常常见的面试题。以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典PDF》,里边有大量的大厂真题、面试难题、架构难题。很多小伙伴刷完后, 吊打面试官, 大厂横着走。在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。

2024-01-25 07:57:13 1056

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关注的人

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