使用懒加载 + 零拷贝后,程序的秒开率提升至99.99%
大字段批量查询、批量文件落地、读取大文件并进行网络传输,不慢才怪,这一顿骚操作,5秒能加载完毕,已经烧高香了。
分布式技术中不可或缺的分布式互斥方案
减库存是一个很常见的例子,假如两个线程同时查到库存还有10件,同时卖出10件后,去库存中减10件,这样就会造成库存还剩下-10件。这显然是不合理的,这就需要当一个线程操作的时候,另一个线程不能操作,这就是排他性资源访问。 在分布式系统里,这种排他性的资源访问方式,叫作分布式互斥,而这种被互斥访问的共享资源就叫作临界资源。 我们一起来看下分布式技术中是如何对临界资源进行互斥访问的。
盘一盘这个没资格出现在面试环节的场景题。
线程池可以做到根据任务的类型,来指定特定线程执行吗?
这些年背过的面试题——架构设计篇
对技术人来说,面试成功的道路只有一条,就是好好准备技术基础。本文是面试系列文章架构设计篇,作者把自己的八股文和一些经验总结汇总在一起,供大家参考。
Guava Cache 异步刷新技巧,你值得拥有!
Guava Cache是一款非常优秀的本地缓存框架。 这篇文章,我们聊聊如何使用 Guava Cache 异步刷新技巧带飞系统性能 。
DDD落地实践-架构师眼中的餐厅
本文以餐厅场景为叙事主线,以领域驱动为核心思想,结合架构设计与功能设计方法论。是从领域分析到落地的全过程案例,内容偏重于落地,因此不乏一些探讨,欢迎指正。 文章较长、全程干货、耐心读完、必有收获。 本文不针对餐厅的实现细节,重在探讨设计思想和方法。
系统架构设计面试指南(02)-MQ和文件存储
冗余性是系统中复制关键组件的过程,旨在提高系统的可靠性或整体性能。它通常以备份或故障转移的形式存在。冗余性在系统中消除单点故障并在需要时提供备份时起着关键作用。例如,如果我们在生产中运行两个服务实例,并且其中一个实例失败,系统可以切换到另一个实例。
DDD 学习与感悟 —— 向屎山冲锋
软件系统是通过软件开发来解决某一个业务领域或问题单元而产生的一个交付物。而通过软件设计可以帮助我们开发出更加健壮的软件系统。因此,软件设计是从业务领域到软件开发之间的桥梁。而DDD是软件设计中的其中一种思想,旨在提供一种大型复杂软件的设计思路和规范。通过DDD思想可以让我们的业务架构、系统架构、部署架构、数据架构、工程架构等都具备高扩展性、高维护性和高测试性。
VMware和Docker之间有哪些区别?
在现代企业IT架构和云计算领域,虚拟化(如VMware)和容器化(如Docker)技术被广泛应用。尽管这两种技术都旨在提高资源利用率和实现进程隔离,但它们在实现方式、优势和应用场景上有着根本的不同。本文将深入探讨虚拟化和容器化的关键差异。
DDD 学习与感悟 —— 向屎山冲锋
软件系统是通过软件开发来解决某一个业务领域或问题单元而产生的一个交付物。而通过软件设计可以帮助我们开发出更加健壮的软件系统。因此,软件设计是从业务领域到软件开发之间的桥梁。而DDD是软件设计中的其中一种思想,旨在提供一种大型复杂软件的设计思路和规范。通过DDD思想可以让我们的业务架构、系统架构、部署架构、数据架构、工程架构等都具备高扩展性、高维护性和高测试性。
商城首页卡爆了!!!
最近我们的商城系统出现了一个线上问题,用户访问商城首页的时候要差不多20秒,才返回数据,可以说卡爆了。 到底怎么回事呢?
如何应对 RocketMQ 消息堆积
消费者在消费的过程中,消费的速度跟不上服务端的发送速度,未处理的消息会越来越多,消息出现堆积进而会造成消息消费延迟。 虽然笔者经常讲:RocketMQ 、Kafka 具备堆积的能力,但是以下场景需要重点关注消息堆积和延迟的问题: 业务系统上下游能力不匹配造成的持续堆积,且无法自行恢复。 业务系统对消息的消费实时性要求较高,即使是短暂的堆积造成的消息延迟也无法接受。
如何应对 RocketMQ 消息堆积
消费者在消费的过程中,消费的速度跟不上服务端的发送速度,未处理的消息会越来越多,消息出现堆积进而会造成消息消费延迟。 虽然笔者经常讲:RocketMQ 、Kafka 具备堆积的能力,但是以下场景需要重点关注消息堆积和延迟的问题: 业务系统上下游能力不匹配造成的持续堆积,且无法自行恢复。 业务系统对消息的消费实时性要求较高,即使是短暂的堆积造成的消息延迟也无法接受。
转转One-Service数据服务体系建设
本次分享主题为转转 One-Service 数据服务体系建设,主要介绍转转在建设数据服务体系过程中的三个阶段,其中将详细介绍 One-Service 统一查询服务建设思路。
构建可承极端流量的软件系统最佳实践
暂停整个销售意味着存在一个对票务结账流程至关重要且可能导致连锁故障的依赖性,问题可能与PayPal支付处理工作流有关。Ticketmaster依赖PayPal作为其主要的全球支付处理平台。
一文掌握Serverless中的异常处理
在无服务器计算的世界中,AWS Lambda 已经成为构建可伸缩和高效应用程序的基石。虽然 Lambda 简化了代码的部署和执行,但强大的错误处理对于确保无服务器函数的可靠性至关重要。本指南探讨在 AWS Lambda 中进行错误处理的最佳实践,帮助构建具有弹性的无服务器应用程序。
从传统BI到LakeHouse,数据架构的演变【案例】
随着时间的推移,公司不断发展壮大,内部和外部的数据来源也越来越广泛和多样化。此外,数据处理和整合变得越来越复杂,现有的数据架构不足以向利益相关者提供现成的数据。
浅谈研发数字化在汽车之家的落地实践
随着互联网的不断发展和企业应用的持续推进,我们的办公模式也不知不觉间从单主体单阶段模式和多主体单阶段协同办公模式转向了多主体跨阶段协同办公模式,协作办公的结构也变得越来越复杂。然而,当资源达到一定数量时,整个系统将面临一些问题,例如灵活度差、延伸性差、耦合严重,以及难以进行服务监控和性能评估等。当某一个办公服务出现问题时,整个协作过程就会面临部署频繁、维护困难等问题,进而导致整个任务开展无法持续,办公协作也变得杂乱无章。 调查结果还显示,企业中普通员工与中层管理者之间,花费在内部协作沟通上的时间大约占其工作时间的40%-50%。对于更高层的主管来说,这一比例则可能更高。信息互达是一切协同办公的前提,在实际工作中,大部分冲突、挫折和低效率都是由于信息互达不畅造成的。
跳槽了,给大家整理一波面试题
趁我还记得住这些面试题,在第一时间给大家整理一波,希望对大家有所帮助。老规矩,字数有点多,建议收藏。
什么是云原生?
云原生是当前软件开发和部署的前沿范式,它充分利用云计算的优势来构建和运行应用程序。这种方法不仅仅是在云环境中运行应用程序,而是涉及到一系列实践,从开发过程到应用架构,再到部署和基础设施的全面革新。下面我们将详细探讨云原生的四个关键方面。