实现定时任务的六种策略
本文整理了实现定时任务的六种策略,我们需要根据实际场景选择合适的策略。 同时,我们也需要考虑: 是否需要任务应用集群部署; 集群部署下假如出现并发执行,业务是否会出现异常; 如何规避并发执行导致的业务异常。
使用双异步后,如何保证数据一致性?
如何保证插入后数据的一致性呢? 很简单,通过对比Excel文件行数和入库数量是否相等即可。 那么,如何获取异步线程的返回值呢?
提升Raft以加速分布式键值存储
Raft是当前广泛使用的共识算法。流行的系统,如Kafka、Cockroach DB、MongoDB、Neo4j、Splunk等,都使用Raft来实现共识。系统要么是最终一致性的,要么是强一致性的。线性一致性是一致性模型中最强大的,但实现它可能很耗时。键值数据库出现在市场上,以避免SQL数据库的复杂性并提供横向扩展性。这些数据库主要提供两种操作:get(key)和put(key, value)。在我对Raft相关论文的探索中,我找到了一篇有趣的文章,标题为‘Rethink the Linearizability Constraints of Raft for Distributed Key-Value Stores’。本文详细介绍了在类似键值数据库中减少读写线性操作延迟以提高吞吐量的技术。本文提供了对这篇论文的简要概述。
字节面试:什么是读写分离?读写分离的底层如何实现?
数据库在高并发大数据量的场景尤其重要,特别是性能的的问题,这其中就会涉及到数据库读写分离机制,比如:什么是读写分离?底层如何实现?优先级如何排定等问题
Docker与Docker Compose入门:释放你应用部署的威力
在本文中,我们了解了 Docker 的基本语法和一些常用命令。Docker 的简洁、灵活和高效使得它成为部署应用的首选工具。而通过 Docker Compose,我们可以进一步简化和组织多个容器的管理,实现更高水平的部署。
又被百度捞起来了,能赢吗?
这次主要面试涵盖的知识点: MySQL:索引结构、索引应用、SQL调优 C++:特性、指针与引用、多态、sizeof、stl 计算机网络:tcp socket 编程、tcp 四次挥手过程 操作系统:虚拟内存、epoll、linux 线程、线程同步技术、Linux 命令
如何将开发环境的 Spring Boot 应用程序内存降低 40% 以上
在开发基础的 Spring Boot 应用程序时,我们需要考虑可承受的内存消耗。随着添加更多依赖项,内存消耗也会增加。对于整体应用程序,通常仍然可以承受内存消耗,但当我们开发多个微服务并在本地计算机上运行时,这可能成为一场噩梦,影响开发效率。
深入理解经典红黑树
本篇我们讲红黑树的经典实现,Java中对红黑树的实现便采用的是经典红黑树。
换国产数据库是不是杀会下金蛋的鸭
这大概是之前的生态,国内IT最开始的时候,是从金融行业来的,那时候数据库使用IBM的DB2。IBM这公司做事情,比较严谨,现在大多数银行核心还在AS400上跑着,所以以前一直流传着国内科技最发达的在金融。不过这些年最发达的应该在民营企业了吧,因为国企吃老本,民营企业活力足。后来java兴起,Oracle也来了,国内的IT得到全方位的发展,大量的从业人员涌入,以其O为中心的生态逐渐形成。
增加索引 + 异步 + 不落地后,从 12h 优化到 15 min
在开发中,我们经常会遇到这样的需求,将数据库中的图片导出到本地,再传给别人。
还得是腾讯,捞了我一把!
这次分享一位 12 月末被腾讯捞起来面试的 Java 后端同学,同学稳打稳扎经历了一二面,坐等三面,我把一二面比较通用问题做了下分类和解答。
37Signals CTO:十年上云之旅画句号,彻底下云后,半年省千万
在上云风行十余年后,由于成本、隐私、安全及业务需求变化,一股“下云”之风逐渐兴起。
优化 Kubernetes 中的资源分配:CPU/内存申请和限制的重要性
优化 Kubernetes 中的资源分配是维持稳定且高性能的环境的关键方面。通过了解 CPU/内存请求和限制的细微差别以及实施建议的策略,您可以在 Kubernetes 部署中实现有效的资源分配,提高可扩展性并创建和谐的工作负载共存。
为啥不建议用BeanUtils.copyProperties拷贝数据
在实际的业务开发中,我们经常会碰到VO、BO、PO、DTO等对象属性之间的赋值,当属性较多的时候我们使用get,set的方式进行赋值的工作量相对较大,因此很多人会选择使用spring提供的拷贝工具BeanUtils的copyProperties方法完成对象之间属性的拷贝。通过这种方式可以很大程度上降低我们手动编写对象属性赋值代码的工作量,既然它那么方便为什么还不建议使用呢?下面是我整理的BeanUtils.copyProperties数据拷贝一些常见的坑。
我在阿里做开发的高效打工技巧总结
如何高效打工?本文作者站在开发的视角总结了一些打工技巧,包括如何高效开会、如何与人沟通、如何做PM等,希望可以给大家提供一些帮助。
系统架构设计面试指南(01)-微服务和CAP
系统设计是定义满足特定需求的系统的架构、接口和数据的过程。系统设计通过协同和高效的系统满足您的业务或组织需求。一旦业务或组织确定了其需求,就可以开始构建一个将这些需求融入物理系统设计的过程,以满足客户的需求。您设计系统的方式将取决于您是选择自定义开发、商业解决方案还是两者结合。 系统设计需要对构建和工程系统采取系统的方法。良好的系统设计要求您考虑基础设施的方方面面,从硬件和软件,一直到数据及其存储方式。
Java中“100=100”为true,而"1000=1000"为false?
今天跟大家聊一个有趣的话题,在Java中两个Integer对象做比较时,会产生意想不到的结果。我们在判断两个对象是否相等时,一定要多注意: 判断两个对象的引用是否相等,用==号判断。 判断两个对象的值是否相等,调用equals方法判断。
去哪儿如何实现故障率降低65%?技术+管理的数字化度量体系实践
如何全面把握系统现状,以便在关键时刻做出明智的决策?这是很多负责全局稳定性的管理者深感关切的问题。基于这一背景,同时也为了寻求提升研发工作效率提升,去哪儿网构建了一套数字化质量度量体系,以此来更精确地度量、管理并提升系统稳定性。 本文将详细解读这套质量度量体系,阐述如何在100多个指标中筛选出关键的度量标准,并进行有效的优化。同时,也将探讨如何借助这个指标模型理论,衡量系统复杂度并进行系统防腐化治理。这套数字化度量体系让去哪儿网的管理决策更有依据,改进方向更明确,结果也更可控,实现了系统运行状态的可视化。
又老性能又差,为什么好多公司依然选择 RabbitMQ?
RabbitMQ 这个消息队列相信很多程序员都用过,我第一次使用是在 2016 年,确实是一个老牌的消息队列了,但是为什么一直没有被淘汰呢?今天来聊一聊这个话题。
又被夺命连环问了!从一道关于定时任务的面试题说起。
定时任务,大家在开发的过程中肯定都是接触过的。 歪师傅面试的时候关于定时任务一般都会问这样的一个问题:在实际开发的过程中,你们是如何避免定时任务重复执行的呢? 什么意思呢?