请稍侯

Max-Min Fairness算法

调度系统中算法设计往往对资源利用率起着关键作用。软件设计没有银弹,算法的优劣往往依赖于对应的业务场景。 该系列文章将整理几种资源调度算法,并分析算法的特性,适用场景等,最后分享在边缘云调度场景中的应用。 1 前言 Max-Min Fairness(MMF)是一种兼顾公平的前提下,尽可能让...

图算法总结

图算法总结 概述 编程的通用模式: 问题理解和建模。 分解子问题,简化复杂度。 逐个解决子问题,解决主问题。 本文尝试用尽量短的文字概况问题的核心,总结LeetCode中图算法题目。 经典图算法 图的搜索 DFS(深度优先搜索) void bfs(vect...

系统设计入门【转载】

本文在system-design-primer基础上,根据自身对系统设计学习情况,收集和汇总分布式系统设计相关资料,用于后续学习和巩固。 系统设计入门 目的 学习如何设计大型系统。 为系统设计的面试做准备。 学习如何设计大型系统 学习如何设计可扩展的系统将会有助于你...

算法刷题总结【转载】

算法刷题总结,原文labuladong 目录 第零章、必读文章 学习算法和刷题的框架思维 我的刷题心得 动态规划解题套路框架 回溯算法解题套路框架 BFS 算法解题套路框架 手把手带你刷二叉树(纲领篇) 一文搞懂单链表的六大解题套路 一文秒杀所有岛屿题...

延迟消息设计与实现【转载】

本文转载自博客和微信公众号 1 缘起 很多时候,业务有“在一段时间之后,完成一个工作任务”的需求。 例如:滴滴打车订单完成后,如果用户一直不评价,48小时后会将自动评价为5星。 一般来说怎么实现这类“48小时后自动评价为5星”需求呢? 常见方案:启动一个cron定时任务,每小时跑一...

supervisor进程管理工具

Supervisor是一款基于客户端、服务端模式的进程管理工具。当然,通过nohup、screen等命令也可以实现Linux程序的后台运行,但是如果服务因为内存泄露等原因导致程序异常退出,上述方案就无能为力了。Supervisor就是这样由Python开发的通用进程管理工具,能够将一个普通进...

关系型数据库设计【转载】

本文转载自博客 数据库设计,一个软件项目成功的基石。很多从业人员都认为,数据库设计其实不那么重要。现实中的情景也相当雷同,开发人员的数量是数据库设计人员的数倍。多数人使用数据库中的一部分,所以也会把数据库设计想的如此简单。其实不然,数据库设计也是门学问。   从笔者的经历看来,笔者更赞成...

Go性能优化【转载】

本文转载自知乎专栏 Go的性能优化其实总的来说和C/C++等这些都差不多,但也有它自己独有的排查方法和陷阱,这些都来源于它的语言特性和环境。 性能优化前提——任何好的东西都是在正确的前提上 代码界的很多事是和我们生活的哲学息息相关的,我们想要做好一件事,首先要保证我们能按时完成我们的任...

几种NoSQL的使用误区

本文转载自博客 最近经常看到关于NoSQL怎么用的讨论,加上自己也已经有四年多在正式项目中使用NoSQL数据库的经验,写下来与大家分享。 1 通常不适合Java程序 NoSQL数据库最大的特点就是数据结构自由,不管是键值对还是JSON格式。使用动态语言,Ruby、Python或Java...