- 博客(1162)
- 资源 (9)
- 问答 (1)
- 收藏
- 关注
原创 分布式微服务系统架构第167集:从零到能跑kafka-redis实战
Netty 接入后,解析为标准事件(JSON/Avro),按 deviceId 作为 key 发 Kafka。避免“每设备一分区”,而是“按哈希范围/地域/组织分区”,分区数阶段性扩(如 24 → 48 → 96)。:Redis 是单线程处理命令的,大 key 或大批量数据一次取出会长时间占用 CPU,阻塞其他请求。拉全量数据要跨节点遍历。:一次性把很多数据打包返回,服务器需要序列化成 TCP 包,客户端要解包,容易卡顿甚至 OOM。:一次性拉取完全没问题,Redis 单线程响应极快,网络带宽也能支撑。
2025-08-22 07:36:59
922
原创 分布式微服务系统架构第166集:华为经验汇总
集成了 Ribbon(负载均衡)和 Hystrix(容错降级,旧版),新版可配合 Spring Cloud LoadBalancer 和 Sentinel。docID/pos 用 gap(差分)+ 可变长(VarInt/VarByte/VByte)或 PForDelta、QMX 等压缩。,可以让你把应用和它的依赖打包在一个轻量级、可移植的容器里运行,避免“在我电脑上可以跑”的问题。必须与注册中心(Eureka / Nacos)里的服务名一致,且要启用负载均衡(默认开启)。
2025-08-18 06:56:45
893
原创 分布式微服务系统架构第165集:阿里,字节,腾讯架构经验汇总
设备 ID 通过哈希(如 Murmur3)转为一个 Long 型 token,落在哪个 token 区间,就由那个节点负责存储。每个设备 ID 或主键,都会通过哈希函数(如 Murmur3)生成一个 Token(Long 类型的整数)。,经过哈希得到一个 token,它会落入某个范围,于是 Cassandra 就将该数据分配给对应的节点。来判断分布,而是直接用 token 落在哪个节点负责的 token 范围。对应的数据会存储在哪个节点(token 范围负责的节点)上。
2025-08-18 06:56:45
782
原创 分布式微服务系统架构第164集:架构懂了就来了解数据库存储扩展千亿读写
Vitess/TiDB/Citus 上线;:MySQL(分库分表/ Vitess) / PostgreSQL(Citus) / NewSQL(TiDB / CockroachDB / OceanBase)(TiCDC/Debezium)把交易变更送到 Kafka,再同步到下游(ES/ClickHouse/缓存):ClickHouse / Pinot / Druid(列式 + 分区,近实时 OLAP):TiCDC/Debezium → Kafka → ClickHouse/ES/缓存回填。
2025-08-11 00:01:10
1045
原创 分布式微服务系统架构第163集:哈罗电池设备Netty网关架构
网关宕机:不续租→TTL 到期(~180s)→映射消失→设备重连被 Nginx 分配到新网关→新网关用“接管 Lua”将 lease 版本+1 并写入。上报数据:网关解码→校验→异步写 Kafka(at-least-once),关键字段落地(如设备在线态、最近电压等可走 Redis/时序库)。:Prometheus 指标(连接数、心跳延迟、解码失败、写队列积压、指令RT/成功率);:先查 Redis 查到网关IP→RPC/HTTP 到该网关内置“下发接口”→Channel 定位并写。:黑名单、频率限制;
2025-08-10 13:13:21
358
原创 分布式微服务系统架构第162集:如果是小米的过亿设备,如何搭建架构
新项目首选,线程安全,支持异步/响应式,Spring Boot 2.x 之后默认使用 Lettuce 代替 Jedis。优点:一个连接就能支持多线程,且异步性能好,特别适合高并发和 Spring WebFlux 这种响应式架构。监控:Prometheus + Grafana(曲线看连接数、堆、GC、CPU):简单、老牌、容易上手,但线程安全差,需要连接池管理;:没有连接数/GC/CPU/Redis延迟监控,很难定位抖动。网关挂了,Nginx 会把连接迁移到其他网关,设备端会自动重连。
2025-08-10 13:13:21
1041
原创 分布式微服务系统架构第161集:过亿设备架构-AI生成架构图
业务若要下发,先查 Redis 看设备在哪台网关,再通过网关本地 ChannelManager 找 Channel 写回(或走 RPC/网关间转发)。:放行 7000(NLB→Nginx)、9000(Nginx→Netty)、Redis/Kafka 内网端口;netty/handler/BusinessDispatcherHandler.java(推送到 Kafka)NLB 健康后开始分流。、直连内存+堆外缓冲可到 10~15 万长连接/台(看内存/网卡/内核参数)。
2025-08-09 07:52:07
1103
原创 分布式微服务系统架构第160集:百万台设备Netty网关架构
网关宕机时,该设备的 Redis Key 不会续期,自动过期后,Nginx 会将连接路由到新的可用网关。实例,是 Netty 服务端启动的核心辅助类,用于配置服务器端的各项参数。这样才能转发原生 TCP 数据(Netty、JT808、MQTT 等)。:让同一个域名指向多台网关服务器(每台运行 Netty 网关服务)。模式支持 TCP 转发(Netty、MQTT、JT808)。统计当前连接数量,支持高并发下的线程安全自增/自减操作。,这是 Netty 为服务器端提供的异步非阻塞通道。
2025-08-08 07:53:55
1085
原创 MongoDB分片技术实现
MongoDB分片(Sharding)是MongoDB的水平扩展解决方案,通过将数据分布到多个分片(shard)上来处理大数据量和高吞吐量的需求。通过合理的设计和实施,MongoDB分片可以为应用提供优秀的水平扩展能力。MongoDB分片技术是处理大规模数据的重要解决方案。:合理规划Config Server、分片和mongos的部署。:选择合适的分片键是关键,需要平衡查询性能和数据分布。选择高基数、查询频繁的字段作为分片键。:尽量包含分片键以避免跨分片查询。MongoDB分片技术实现。
2025-08-02 15:55:27
370
原创 HBase分片技术实现
HBase是基于Hadoop的分布式、可扩展的NoSQL数据库,采用列族存储模型。HBase的分片机制通过Region自动分割和负载均衡实现水平扩展,支持PB级数据存储和高并发访问。在实际应用中,需要根据业务特点优化RowKey设计、表结构和分片策略,并建立完善的监控和运维体系。HBase分片技术通过Region自动分割和负载均衡实现了高可扩展性和高可用性。: 集群管理节点,负责Region分配和负载均衡。: Region根据大小自动分割,支持水平扩展。: 合理的RowKey设计是性能的关键。
2025-08-02 15:55:27
448
原创 Elasticsearch分片技术实现
Elasticsearch分片(Sharding)是其分布式架构的核心,通过将索引分割成多个分片来实现水平扩展。每个分片都是一个独立的Lucene索引,可以分布在集群的不同节点上。Elasticsearch分片技术是构建高性能、高可用搜索系统的关键。在实际应用中,需要根据业务特点调整分片策略,并建立完善的监控和运维体系。: 避免过度分片,通常每个节点1-3个分片。: 自动化索引的创建、滚动和删除。: 分片分布实现查询负载分散。: 根据数据增长预估分片数。: 监控分片在节点间的分布。
2025-08-02 15:55:27
362
原创 ClickHouse分片技术实现
ClickHouse是一个用于在线分析处理(OLAP)的列式数据库管理系统,具有极高的查询性能。ClickHouse的分片机制通过分布式表和本地表的组合实现水平扩展,支持PB级数据的实时分析。ClickHouse分片技术通过分布式表和本地表的组合实现了高性能的OLAP查询能力。在实际应用中,需要根据数据特点和查询模式优化表结构、分片策略和查询方式,并建立完善的监控和运维体系。**避免SELECT ***: 只查询需要的列。: 通过分片和副本实现水平扩展和高可用。: 数据分片,每个分片包含部分数据。
2025-08-02 15:55:27
354
原创 子网掩码是什么
子网掩码(Subnet Mask)是一个32位的二进制数,用于将IP地址分割成网络部分和主机部分,是网络通信中的重要概念。在实际工作中,掌握子网掩码的计算方法和应用场景,能够帮助我们更好地进行网络规划和故障排除。子网掩码的作用就是告诉计算机:"这个IP地址的前面几位是网络地址,后面几位是主机地址"。/24网络:2^(32-24) - 2 = 254台主机。/25网络:2^(32-25) - 2 = 126台主机。/27网络:2^(32-27) - 2 = 30台主机。使用/24网络(254台主机)
2025-07-31 12:19:01
341
原创 分布式微服务系统架构第159集:高并发系统
它将整体的系统分成了 Model(模型),View(视图)和 Controller(控制器)三个层次,也就是将用户视图和业务处理隔离开,并且通过控制器连接起来,很好地实现了表现和逻辑的解耦,是一种标准的软件分层架构。很显然嘛,你在每秒一次请求和每秒一万次请求,两种不同的场景下,分别做到毫秒级响应时间和五个九(99.999%)的可用性,无论是设计难度还是方案的复杂度,都不是一个级别的。缓存遍布在系统设计的每个角落,从操作系统到浏览器,从数据库到消息队列,任何略微复杂的服务和组件中,你都可以看到缓存的影子。
2025-07-16 07:17:11
614
原创 分布式微服务系统架构第158集:JavaPlus技术文档平台日更-JVM基础知识
Java虚拟机(Java Virtual Machine,JVM)是Java程序的运行环境,它是Java实现"一次编译,到处运行"的核心。JVM负责将Java字节码转换为特定平台的机器码,并提供内存管理、垃圾回收、安全检查等功能。JVM作为Java程序的运行环境,其深入理解对于Java开发者至关重要。通过深入理解JVM原理和实践经验的积累,能够更好地开发高性能、稳定的Java应用程序。垃圾回收是JVM自动管理内存的机制,负责回收不再使用的对象所占用的内存空间。
2025-07-05 16:09:51
672
原创 分布式微服务系统架构第157集:JavaPlus技术文档平台日更-Java多线程编程技巧
通过掌握这些Java多线程编程技巧,可以编写出更加高效、安全和可维护的并发程序。记住,多线程编程需要谨慎对待,充分的测试和监控是确保程序正确性的关键。IO密集型:线程数 = CPU核心数 × (1 + IO等待时间/CPU计算时间)选择合适的同步工具(synchronized、Lock、原子类等)性能分析工具(JProfiler、Async Profiler等)CPU密集型:线程数 = CPU核心数 + 1。使用线程本地变量(ThreadLocal)线程和线程池使用有意义的名称。
2025-07-05 16:09:51
720
原创 分布式微服务系统架构第155集:JavaPlus技术文档平台日更-Java线程池实现原理
线程池(Thread Pool)是一种多线程处理形式,预先创建若干个线程,这些线程在没有任务处理时处于等待状态,当有任务来临时分配给其中的一个线程来处理,当处理完后又回到等待状态等待下一个任务。通过深入理解线程池的实现原理和最佳实践,可以更好地利用线程池提升应用性能和稳定性。:重写afterExecute方法处理任务执行异常。:正确配置核心线程数、最大线程数、队列大小等参数。:实时监控线程池的运行状态和性能指标。:确保线程池正确关闭,避免资源泄漏。:确保应用关闭时正确关闭线程池。
2025-07-05 16:09:51
838
原创 分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
title: java线程池使用 author: 哪吒 date: '2023-06-15'通过遵循这些最佳实践,可以充分发挥线程池的优势,构建高性能、稳定的并发应用程序。方式二:手动创建ThreadPoolExecutor(推荐)方式一:使用Executors工具类(不推荐):限制并发线程数量,避免系统资源耗尽。2.1 CPU密集型任务线程池。2.2 IO密集型任务线程池。:复用线程,快速响应任务请求。4.1 线程池参数配置指南。1.1 创建线程池的方式。创建线程池,推荐手动创建。
2025-07-05 16:09:51
510
原创 分布式微服务系统架构第153集:JavaPlus技术文档平台日更
构建支撑2000万日订单的技术架构,不仅是技术挑战,更是对团队、流程和文化的全方位考验。通过合理的架构设计、技术选型和持续优化,我们成功构建了高可用、高性能、可扩展的系统,为业务持续增长提供了坚实的技术基础。服务器被挖矿病毒感染后的处理不仅仅是清除病毒,更重要的是找出入侵途径并加以修复,同时加强系统安全防护。对于严重感染的系统,建议在备份重要数据后重装系统,以确保彻底清除所有恶意代码。面向未来,我们将继续拥抱新技术、新理念,构建更强大、更智能的系统,支撑业务向更高目标迈进。
2025-06-16 00:01:03
1024
原创 分布式微服务系统架构第152集:JavaPlus技术文档平台日更
服务器收到FIN包,回应一个ACK包(ACK=1, ack=u+1),进入CLOSE_WAIT状态,客户端收到后进入FIN_WAIT_2状态。客户端收到FIN包,回应一个ACK包(ACK=1, seq=u+1, ack=v+1),进入TIME_WAIT状态,等待2MSL后关闭连接。服务器收到SYN包,回应一个SYN+ACK包(SYN=1, ACK=1, seq=y, ack=x+1),进入SYN_RECV状态。客户端发送FIN包(FIN=1, seq=u),进入FIN_WAIT_1状态。
2025-06-16 00:01:03
1053
原创 分布式微服务系统架构第151集:JavaPlus技术文档平台日更
Redis Lua脚本是Redis提供的一种强大功能,它允许开发者在Redis服务器端执行Lua脚本,实现复杂的原子操作。通过深入理解Lua脚本的运行原理,开发者可以更好地利用这一功能,提高应用性能,简化业务逻辑实现。随着Redis的不断发展,Lua脚本功能也在不断完善,成为Redis生态系统中不可或缺的一部分。Redis保证Lua脚本的原子性,即脚本执行期间,不会有其他脚本或命令执行。EVALSHA命令用于执行已经缓存在Redis服务器中的脚本,避免每次都传输完整的脚本内容。
2025-06-16 00:01:03
637
原创 分布式微服务系统架构第150集:JavaPlus技术文档平台日更
MySQL 的锁机制是保证数据一致性和完整性的重要手段,了解不同类型的锁及其使用场景,可以帮助我们设计出高性能、高可靠性的数据库应用。锁是数据库并发控制的基础,但过度使用锁会导致系统性能下降,因此需要在保证数据一致性的前提下,尽量减少锁的使用,提高系统的并发性能。写锁,也称为排它锁(Exclusive Lock)、独占锁或 X 锁,是一种在事务修改数据时使用的锁,它排斥任何其他锁。意向锁是 InnoDB 存储引擎中的一种表级锁,用于指示事务稍后要对表中的行加什么类型的锁(共享锁或排它锁)。
2025-06-16 00:01:03
779
原创 分布式微服务系统架构第149集:JavaPlus技术文档平台日更
微信小程序运维中心是小程序开发者不可或缺的管理工具,它提供了全面的运维能力,包括版本管理、质量监控、用户反馈、数据分析、安全中心和客服消息等。有效利用运维中心需要建立规范的运维流程,设置合理的监控告警策略,掌握高效的问题排查方法,以及建立良好的团队协作模式。开发者应当持续关注运维中心的新功能和最佳实践,不断提升小程序的运维水平和用户体验,在激烈的市场竞争中脱颖而出。不同的访问方式功能略有差异,网页版提供最完整的功能,小程序版侧重于移动场景下的核心功能,API接口则提供了自动化的可能性。
2025-06-15 00:55:49
914
原创 分布式微服务系统架构第148集:JavaPlus技术文档平台日更
在使用Redis过程中,key的过期问题是一个常见的挑战,本文将详细介绍Redis key过期的原理、常见问题及解决方案。Redis key过期问题是使用Redis缓存系统时必须面对的挑战,通过理解Redis的过期机制原理,针对不同场景采用合适的解决方案,可以有效避免缓存雪崩、击穿和穿透等问题,提高系统的稳定性和性能。在实际工作中,建议建立标准的问题排查流程和工具集,提前做好监控和告警,做到早发现、早处理,避免问题扩大化。在top命令中,按P键按CPU使用率排序,找出CPU使用率最高的进程,记录其PID。
2025-06-13 22:37:19
861
原创 分布式微服务系统架构第147集:JavaPlus技术文档平台日更
简单来说,当你用浏览器访问网站时,tomcat就像餐厅传菜员,把java代码做的”菜品“,翻译成你能看懂的HTML页面,它内置的JSP引擎会把页面布局,魔法符合变成正经的Java代码,Coyote连接器负责和浏览器对暗号”处理HTTP协议。CDN即内容分发网络,本质上是个“内容快递网络”,是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。面向对象的数据库是指使用面向对象的思想来设计数据库。
2025-06-12 08:06:52
635
原创 分布式微服务系统架构第146集:JavaPlus技术文档平台
微服务里十几个服务互相调用,Zookeeper就是协调者,协调各个服务,协调各个节点,协调各个模块,协调各个服务器。所有请求先经过网关这个“快递分拣站”,自动分配到对应的模块,服务发现机制像BPS,实时定位哪些服务器活着。它用属性结构(ZNode)存储数据,节点分两种,持久节点(永久数据),和临时节点(会话结束就消失)实时监控,滴滴用它在全国地图上,动态显示每车辆的移动光点,靠的就是ES毫秒级响应。本质上它是一个分布式协调服务,核心原理:树,节点,监听。每个模块独立开发,独立部署,分布式架构的核心,解耦。
2025-06-11 07:38:58
343
原创 分布式微服务系统架构第145集:Jeskson文档-微服务分布式系统架构
该方法的主要用途是在后台并行执行多个同步任务,以提高系统性能和响应速度。例如,在一个数据同步系统中,可能需要同时同步多个数据源,以提高数据同步的效率。方法,阻塞当前线程,直到所有任务完成。:如果任务之间存在依赖关系,需要特别注意任务的执行顺序,避免因并行执行导致的逻辑错误。:在等待任务完成时,需要捕获并处理可能抛出的异常,以避免程序因未处理的异常而崩溃。:在异常处理中记录错误日志,有助于后续的问题追踪和调试。来管理线程池,可以避免创建过多的线程,提高资源利用率。,用于存放每个异步任务的执行结果。
2025-06-10 21:36:54
480
原创 分布式微服务系统架构第144集:FastAPI全栈开发教育系统
仓库地址:https://webvueblog.github.io/JavaPlusDoc/如你有多个版本混装(例如 Homebrew 和 .pkg 安装共存),可进一步排查。如果访问不了,可能是网络(如防火墙或 DNS)问题。需要我帮你写个自动卸载脚本或判断 MySQL 残留的诊断命令也可以说一声。彻底卸载 Mac 上本地安装的 MySQL(包括通过。🛠 如果你想显式设置 root 密码(跳过引导)✅ 可选:确认依赖包下载正常(联网情况良好)插件(无密码,靠本地 socket 登录)
2025-06-06 08:21:47
778
原创 生 产 资 料 的 终 极 来 源
虽 然 只 有 短 短 六 个 字 ,可 实 际 上 它 们 只 是 看 起 来 简 单而 已 ,如 若 靠 你 自 己摸索、试 错 、总 结 ,不知道需要耗费 多 少 时 间 和 精 力。再 细 想 ,向自然索取材料并不是谁都可以做到的事情 ,也 不 是谁天生就会的事情。不学习就不知道什 么 有 用 ,不学习就不知道到哪里去找什么东西,换言之 ,为 了 生 产 ,我们得向自己索取知识。花的当然是生产者自己的时间。换 言 之 ,为了生产,我们需要向自然索取材料,在社会中寻找需求,而后用自身的时间去完成。
2025-06-03 21:32:14
149
原创 荒唐地出售生产资料
当 然 ,每 个 人 的 情 况 不 一 样 ,刚开始的时候都可能 要 有 一 段 时 间 迫 不 得 已 地 直 接 出 售 自 己 的 时 间。哪有直接出售生产资料的啊?在能直接出售的时间那 么 少 的 同 时 ,还要把它以那么低的价格出售,实在是不 划 算。所 以 ,如果活到7 0 岁 的 话 ,就相当于要再次砍掉一半的可出售时间,现在只有3 8 天 了 ,这还没算上中途失业的情况。之前我们也得到过这样的结论:我们 一 生 中赚到的所有钱或财富,从本质上来看,全都是从自己的时间里挖出来的。
2025-06-03 21:32:14
342
原创 教 育 投 入
最 初 的 时 候 ,人 们 初 中 毕 业 就 可 以 开 始 工 作 ,后来得高中学 历 才行,又后来本科学历才够用,再后来研究 生 学 历 才 算 说 得 过 去 ……给 人 的 感 觉 是 ,必要的教育从 9 年 变 成 1 2 年 ,又 变 成 1 6 年 ,再 变 成 1 9 年。但 是 ,从发展到盛行已经差不多3 0 0 年的现代教育体 系 ,重点培养的并不是有效生产的所有者、设计者和组 织 者 ,也 不 是 销 售 者。它所培养的,主要是生产的被组 织 者 ,或者生产的间接参与者。
2025-06-03 21:32:14
199
原创 生活艰辛的根本原因
可 惜 的 是 ,到 最 后 发 现 ,即便要 求 那 么 低 ,自 己 竟 然 还 是 无 法 被 满 足 ,只能称其为“艰 辛 ,,。因为无效生产者毕竟去生产了,所 以 ,即便是在失败的过程中,也会学习、总结经验教训 ,只 要 不 放 弃 ,就 有 改 进 或 者 翻 盘 ,甚至成功的机会。很多人的问题在于 ,从 一开始可能就没想对,所以也没选对,于 是 ,到最后怎么吃亏的都想不明白。因为生产出来的商品 或 者 服 务 ,必须是能卖出去的,即能够满足社会需求的 ,才 能 赚 到 钱。
2025-06-03 21:32:14
234
原创 分布式微服务系统架构第143集:pom文件
我发现项目中有一个名为captcha-spring-boot-starter的目录,这很可能就是用户在寻找的spring-boot-starter-captcha。spring-boot-starter-captcha位于项目的core/captcha-spring-boot-starter目录下。我已经找到了spring-boot-starter-captcha,它位于core/captcha-spring-boot-starter目录下。我将继续查看该目录下的src目录结构,以便提供更详细的信息。
2025-06-01 11:15:50
780
原创 分布式微服务系统架构第142集:全栈开发
目录是 Java 项目中的重要文件夹,通常用于存放与 Java 应用的元数据、配置、服务发现、加密算法等相关的文件。它的作用是启用 CDI 容器,控制和管理类的生命周期。其中包含了width、height两个参数,分别代表图片的宽度和高度,支持百分比方式设置 如:{width:'100%',height:'200px'}其中包含了width、height两个参数,分别代表滑动条的宽度和高度,支持百分比方式设置,如:{width:'100%',height:'40px'}是这个 Bean 的名字。
2025-05-30 22:12:05
1168
原创 分布式微服务系统架构第140集:各种锁汇总,乐观锁、悲观锁、分布式锁、可重入锁、互斥锁、读写锁、分段锁、类锁、行级锁等
JavaPlusDoc(文档) https://webvueblog.github.io/JavaPlusDoc/:借助外部系统(Redis、ZooKeeper、Etcd)维护全局锁。:不加锁,读时取得版本号,写时通过 CAS 验证版本,无冲突则更新。:同一线程可多次获得同一把锁,锁计数器递增/递减。:把大数据结构分段,每段独立加锁,降低冲突域。:并发度最高,适合高并发库存扣减、状态流转。:线程不断轮询尝试获取锁,不进入阻塞状态。:冲突少、读多写少场景,如用户资料更新。
2025-05-27 07:52:13
819
原创 分布式微服务系统架构第141集:锁
6. 读写锁(ReentrantReadWriteLock)——缓存读写场景。10. 分段锁(ConcurrentHashMap)——无须额外代码。2. 悲观锁(SELECT FOR UPDATE)——订单处理示例。4. 可重入锁(ReentrantLock)——临界资源保护。3. 分布式锁(Redisson)——分布式库存或任务调度。7. 信号量(Semaphore)——限流示例。9. 行级锁(数据库内部)——状态流转示例。1. 乐观锁(版本号)——库存扣减示例。:由数据库引擎在该记录更新时自动加/释。
2025-05-27 07:52:13
429
原创 分布式微服务系统架构第139集:和后端字节沟通技术
每次请求携带 JWT,服务端先校验 JWT 签名与有效期,然后根据 JWT 中的用户 ID(和权限版本号),从 Redis 拉取该用户的“实际权限集”,并在当前请求上下文中完成资源级、操作级的权限检查。在抢购活动中,可先将库存预加载到本地内存队列或秒杀队列中,通过队列消费来削峰,再异步持久化,进一步提高系统吞吐。:大流量场景下,可在本地(JVM 缓存或 Caffeine)再加一层短时缓存,减少对 Redis 的频繁读取。:在超高并发下,大量请求排队会导致响应延迟;
2025-05-25 23:58:15
1048
原创 Kafka介绍
例如,一个消费者可以重置到一个更早的偏移,来重新处理过去的数据,或跳到最近的记录,从“现在”开始消费。Kafka中消费的实现方式是,通过在消费者实例之间分配log中的分区,因此每个实例在任何时间点都是一个分区的“公平共享”的独占消费者。每个独立的分区必须匹配托管它的服务器的大小,但是一个topic可以有许多分区,因此,它可以处理任意大小的数据。例如,你可以使用我们的命令行工具来"tail"(应该理解为tail命令,查看文件的尾部)任何topic的内容,不会改变已存在消费者在消费的内容。也有支持配额的操作。
2025-05-24 23:32:01
652
原创 JVM 探秘之旅:从困惑到恍然大悟的奇妙学习过程
也就是如下: ① Java 源文件—->编译器—->字节码文件 ② 字节码文件—->JVM—->机器码 每一种平台的解释器是不同的,但是实现的虚拟机是相同的,这也就是 Java 为什么能够 跨平台的原因了 ,当一个程序从开始运行,这时虚拟机就开始实例化了,多个程序启动就会 存在多个虚拟机实例。接着,JVM 就像‘星际飞船’,飞船上的解释器是‘随行翻译’,根据不同星球(硬件平台)的语言习惯,把字节码文件编译成当地的‘方言’—— 机器码。小科深吸一口气,抱着笔记本,像寻找灯塔的小船般走向程哥的工位!
2025-05-22 11:55:38
723
原创 分布式微服务系统架构第138集:打包发布全流程(iOS + Android)
① 创建应用 → ② 上传 .aab → ③ 填隐私政策 / 内容分级 → ④ 上线 Production/Closed Test。填写 App 名称、包名(Bundle Identifier / ApplicationId)、版本号、图标、启动图;Archive → Upload → “Internal / External Testers” → 发测试链接。登录 App Store Connect → My Apps → + → New App。
2025-05-20 23:49:35
1125
CountTime-AndroidStudio项目制作倒计时模块
2018-04-03
book微信小程序
2018-06-22
Android---UI篇---Menu(菜单)
2017-11-27
如何实现点击关于按钮,获得APP的版本号,APP的签名信息,APP的权限申请信息
2017-11-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人