从分布式一致性算法到区块链共识机制
分布式一致性是一个很“古典”的话题,即在分布式系统中,如何保证系统内的各个节点之间数据的一致性或能够就某个提案达成一致。这个问题想必对于很多技术同学而言并不陌生,几乎在所有的分布式系统中都会遇到,比如hdfs、mq、zookeeper、kafka、redis、elasticsearch等。然而这个问题却历久弥新,随着分布式网络的蓬勃发展与复杂化,对于该问题解法的探索也一直在进行中。
分布式一致性是一个很“古典”的话题,即在分布式系统中,如何保证系统内的各个节点之间数据的一致性或能够就某个提案达成一致。这个问题想必对于很多技术同学而言并不陌生,几乎在所有的分布式系统中都会遇到,比如hdfs、mq、zookeeper、kafka、redis、elasticsearch等。然而这个问题却历久弥新,随着分布式网络的蓬勃发展与复杂化,对于该问题解法的探索也一直在进行中。
本文介绍了贪心算法在 CSP-J(信息学奥林匹克联赛入门级)教学中的应用。贪心算法通过每一步选择局部最优解,期望最终达到全局最优。作者强调了排序在贪心算法中的重要性,并提供了 sort 函数和自定义结构体排序的示例代码。文章还推荐了适合教学的题目,如 P2240 部分背包问题、P1223 排队接水等,并附上详细的解题思路和代码实现。适合正在备战 CSP-J 的学生和指导教师参考。
本文深入探讨了 HarmonyOS NEXT 的应用签名机制,详细解析了签名过程的每个步骤及其背后的实现原理,并通过源码分析了签名的校验机制。文章旨在揭示鸿蒙系统的安全设计思路,为从事鸿蒙研发的开发者提供参考。适合对鸿蒙系统安全机制感兴趣的开发者和安全研究人员阅读。
深入分享了美团在 UI 自动化一致性检测上的技术方案,从设计思路到实际应用,全面展示了如何提升产品质量和用户体验!想了解大厂如何用技术解决复杂问题?快来阅读并转发!
本文介绍了 Blink-Tree,这是一种 B+Tree 的并发优化结构。通过引入 high key 和 link 指针,解决了并发访问时的性能问题,特别适用于高并发环境的存储引擎优化。如果你对数据库存储引擎感兴趣,这篇文章不容错过!
本文整理自美团技术沙龙第80期《美团内容智能分发的算法实践》,分享内容主要包括三部分。第一部分介绍了大众点评内容搜索的场景特点以及面临的挑战;第二部分介绍了为应对这些困难和挑战,技术团队在链路各环节上做的实践优化,包括内容消费和搜索满意度的优化等等;第三部分是总结和对未来的展望。
本文使用大量的图例,同时没有难懂的公式,意图解释清楚一致性模型要解决什么问题,以及三种一致性模型:顺序一致性、线性一致性、因果一致性。
在上一篇文章中,介绍了数据库索引的简单概念,以及B树的结构及核心算法,这一篇将继续介绍B树的变形B+树。
这一段时间由于在阅读boltdb代码的缘故,找机会学习了B树及B+树的算法原理,这个系列会花两个篇幅分别介绍这两种数据结构的实现,其用于数据库索引中的基本原理。
SPI(Service ProviderInterface)是JDK内置的服务提供机制,常用于框架的动态扩展,类似于可拔插机制。提供方将接口实现类配置在classpath下的指定位置,调用方读取并加载。当提供方发生变化时,接口的实现也会改变。Java生态中JDK、Dubbo、Spring等都通过SPI提供了动态扩展的能力。
代理模式主要是Proxy对原始方法做了一层包装,用以增加一些新的统一处理逻辑,来增强目标对象的功能。静态代理是传统设计模式中一种传统的实现方案,动态代理能将代理对象的创建延迟到程序运行阶段。