分布式 第一性 算法 架构
nacos注册中心单节点ap架构源码解析
一、注册流程 单nacos节点流程图如下: 流程图可以知,Nacos注册流程包括客户端的服务注册、服务实例列表拉取、定时心跳任务;以及服务端的定时检查服务实例任务、服务实例更新推送5个功能。 服务注册:当客户端启动的时候会根据当前微服务的配置信息把微服务注册到nacos服务端。 服务实例列表拉取:当 ......
MQ系列9:高可用架构分析
MQ系列1:消息中间件执行原理 MQ系列2:消息中间件的技术选型 MQ系列3:RocketMQ 架构分析 MQ系列4:NameServer 原理解析 MQ系列5:RocketMQ消息的发送模式 MQ系列6:消息的消费 MQ系列7:消息通信,追求极致性能 MQ系列8:数据存储,消息队列的高可用保障 1 ......
道长的算法笔记:状态机模型之股票系列问题
(一) 股票系列问题 所谓的股票问题,是一个动态规划状态机模型的系列问题,这些题目来自于LeetCode社区,这些问题非常经典,能够帮助我们理解动态规划的本质,这些问题大多初看之下会令人感觉无从下手,但是一旦掌握相应的方法划分状态之后,很快即可举一反三的写出相应的代码。 股票系列问题合集 LC121 ......
周而复始,往复循环,递归、尾递归算法与无限极层级结构的探究和使用(Golang1.18)
所有人都听过这样一个歌谣:从前有座山,山里有座庙,庙里有个和尚在讲故事:从前有座山。。。。,虽然这个歌谣并没有一个递归边界条件跳出循环,但无疑地,这是递归算法最朴素的落地实现,本次我们使用Golang1.18回溯递归与迭代算法的落地场景应用。 递归思想与实现 递归思想并非是鲜为人知的高级概念,只不过 ......
Azure DevOps 的架构窥探
工作的缘故,接触 TFS (Team Foundation Server)挺多的,现在改名为 Azure DevOps,分为 可私有化部署版本 Azure DevOps Server,简称ADS,以及 SAAS 版本 Azure DevOps Services。未来因为微软收购了 github,据说 ......
Netty-架构设计及入门程序-3
一、原生 NIO 存在的问题 1、NIO 的类库和 API 繁杂,使用麻烦:需要熟练掌握 Selector、ServerSocketChannel、SocketChannel、ByteBuffer等。2、需要具备其他的额外技能:要熟悉 Java 多线程编程,因为 NIO 编程涉及到 Reactor ......
分布式事务 | 基于MassTransit的StateMachine实现Saga编排式分布式事务
MassTransit StateMachine充当着事务编排器的角色,通过集中定义状态、转移条件和状态转移的执行顺序,实现高内聚的事务流转控制,也确保了其他伴生服务仅需关注自己的业务逻辑,而无需关心事务的流转,真正实现了关注点分离。 ......
【深入浅出 Yarn 架构与实现】4-3 RM 管理 NodeManager
本篇继续对 RM 中管理 NodeManager 的部分进行深入的讲解。主要有三个部分:检查 NM 是否存活;管理 NM 的黑白名单;响应 NM RPC 请求。 ......
【深入浅出 Yarn 架构与实现】4-2 RM 管理 Application Master
本篇将对 RM 中管理 Application Master 的部分进行深入的讲解。
下面将会介绍 RM 与 AM 整体通信执行流程,并对 RM 中涉及的对应服务进行具体讲解。
为了更好的学习本篇知识,建议先熟悉以下知识点,不了解的部分可翻到前面对应的文章进行学习: ......
JAVA中使用最广泛的本地缓存?Ehcache的自信从何而来3 —— 本地缓存变身分布式集群缓存,打破本地缓存天花板
作为JAVA本地缓存综合实力天花板的Ehcache,还提供了对于集群能力的支持,这也使其不仅仅是个单机缓存,更是一个分布式缓存。本篇一起探讨Ehcache的各种集群方案。 ......
做算法的这一年——2022年个人年终总结
做算法的这一年——2022年个人年终总结 前言 按照往年的惯例和园子的规矩,随着网易云音乐以及众多App的个人使用报告陆续出来,也到了自己该做个全年复盘总结的时候了。 这一年想起来好像是做了很多事情,但又好像什么都没有做,对着电脑想了许久,要怎么用一句话或者一个字来概括这一整年的过往与历程,奈何 ......
基于K-means聚类算法进行客户人群分析
摘要:在本案例中,我们使用人工智能技术的聚类算法去分析超市购物中心客户的一些基本数据,把客户分成不同的群体,供营销团队参考并相应地制定营销策略。 本文分享自华为云社区《基于K-means聚类算法进行客户人群分析》,作者:HWCloudAI 。 实验目标 掌握如何通过机器学习算法进行用户群体分析; 掌 ......
架构设计(九):估算
架构设计(九):估算 作者:Grey 原文地址: 博客园:架构设计(九):估算 CSDN:架构设计(九):估算 估算在系统设计中非常重要,这决定了你的设计是否可以满足要求,要实现比较靠谱的估算,就需要对如下几个概念熟练掌握 第一个概念:二的幂 尽管在处理分布式系统时,数据量可能是巨大的,但计算都可以 ......
分布式文件系统之FastDFS
目录结构: 一 分布式文件系统 二 FastDFS入门 三 FastDFS环境搭建 四 FastDFS在Java项目中开发示例 五 FastDFS分布式文件系统集群 一 分布式文件系统 分布式文件系统 (Distributed File System) 是一个软件/软件服务器,这个软件可以用来管理文 ......
贪心算法Dijkstra
Dijkstra 最短路径问题 : 给定一个带权有向图 G = (V, E, W),同时给定一个源点 u (u ∈ V),我们要找出从源点 u 出发到其它各点的最短路径距离,并得出这些最短路径的具体路径有哪些边构成。 其实我们要求的就是从 源点 u 出发到 其它各点 str的最短路径所组成的路线网络 ......
遗传算法解决函数优化问题
遗传算法解决函数优化问题 作者: Cukor丘克 环境: MatlabR2020a + vscode 为什么要学习遗传算法 为什么要学习遗传算法,或者说遗传算法有什么厉害的地方。例如求解以下函数优化问题: $min f(x_1, x_2)=x^2_1+x^2_1+25*(sin^2x_1+sin^2 ......
遗传算法解决旅行商问题(TSP)
遗传算法解决旅行商问题 作者:Cukor丘克 环境:MatlabR2020a + vscode 问题描述 旅行商问题(TSP). 一个商人欲从自己所在的城市出发,到若干个城市推销商品,然后回到其所在的城市。如何选择一条周游路线,使得商人经过每个城市一次且仅一次后回到起点,并使他所走过的路径最短? T ......
【架构设计】你的类足够“专一”吗
前言 软件设计SOLID原则中有一个最基础的原则就是单一职责原则,我想绝大部分的程序员都知道,而且都理解它的意思,甚至觉得很简单。但是往往“看懂”和“会用”是两回事,而“用好”更是难上加难。好比我们项目,一开始一直和大家强调类的单一职责,随着业务不断发展,不同的同事都往这个类“添砖加瓦”,最终导致一 ......
【架构设计】你的应用该如何分层呢?
前言 最近review公司的代码,发现现在整个代码层级十分混乱,一个service类的长度甚至达到了5000多行。而且各种分层模型DTO、VO乱用, 最终出现逻辑不清晰、各模块相互依赖、代码扩展性差、改动一处就牵一发而动全身等问题。 我们在吸取了阿里巴巴的分层规范以及网上的一些经验后,重新梳理总结了 ......
【架构设计】如何让你的应用做到高内聚、低耦合?
前言 最近review公司的代码,发现代码耦合程度特别高,修改一处,不知不觉就把其他地方影响到了,这就让我思考该如何让我们写的代码足够内聚,减少耦合呢? "高内聚、松耦合"是一个非常重要的设计思想,能够有效地提高代码的可读性和可维护性,缩小功能改动导致的代码改动范围。它可以用来指导不同粒度代码的设计 ......
Google分布式文件系统GFS论文学习
GFS作为最著名的分布式文件系统,首先具备了大规模、可扩展、适配大文件、自动运维等高级特性。虽然是比较早期的分布式文件系统,但是它里面的设计思想还是值得现代分布式系统设计参考的,并且还有很多后期著名的分布式文件系统就是根据 GFS 来的。 一、设计预期 在论文前面,列举了设计预期,也就是 GFS 是 ......
【架构设计】保持简单轻量设计的三个原则——DRY,KISS, YAGNI
前言 一个软件轻量简单的软件架构是非常重要的,它可以让我们花最小的代价就能满足业务上的需求。那如何保证轻量简单呢?那今天就和大家分享下这其中的秘密,也就是3个重要的指导原则,KISS原则,YAGNI原则和DRY原则,你们都知道并且理解吗? 欢迎关注微信公众号「JAVA旭阳」交流和学习 KISS原则 ......
3D视觉算法初学概述
SLAM 是Simultaneous Localization and Mapping的缩写,中文译作“同时定位与地图构建”。它是指搭载特定传感器(单目、双目、RGB-D相机、Lidar)的主体,在没有环境先验信息的情况下,在运动过程中建立环境的模型,同时估计自己的运动。如果这里的传感器主要为相机,... ......
Raft一致性共识算法论文学习
论文地址:https://pdos.csail.mit.edu/6.824/papers/raft-extended.pdf 看完raft共识算法,脑袋非常懵,所以写一篇学习笔记,记录一下。 raft算法主要解决三个模块的问题:领导人选举、日志复制和安全性。当然除了这三个方面,论文对于raft的安全 ......
.NET 云原生架构师训练营(基于 OP Storming 和 Actor 的大型分布式架构二)--学习笔记
目录 为什么我们用 Orleans Dapr VS Orleans Actor 模型 Orleans 的核心概念 结合 OP Storming 的实践 结合 OP Storming 的实践 业务模型 设计模型 代码实现 业务模型 我们可以把关键对象(职位、客户行为记录、线索)参考为 actor 猎头 ......
Dubbo架构设计与源码解析(二) 服务注册
作者:黄金 一、Dubbo简介 Dubbo是一款典型的高扩展、高性能、高可用的RPC微服务框架,用于解决微服务架构下的服务治理与通信问题。其核心模块包含 【RPC通信】 和 【服务治理】 ,其中服务治理又分为服务注册与发现、服务容错、负载均衡、流量调度等。今天将重点介绍Dubbo的服务注册与发现。 ......
第一百一十七篇: JavaScript 工厂模式和原型模式
好家伙,本篇为《JS高级程序设计》第八章“对象、类与面向对象编程”学习笔记 1.工厂模式 工厂模式是另外一种关注对象创建概念的创建模式。 它的领域中同其它模式的不同之处在于它并没有明确要求我们使用一个构造器。 取而代之,一个工厂能提供一个创建对象的公共接口,我们可以在其中指定我们希望被创建的工厂对象 ......
架构与思维:再聊缓存击穿,面试是一场博弈
1 介绍 在之前的一篇文章《一次缓存雪崩的灾难复盘》中,我们比较清晰的描述了缓存雪崩、穿透、击穿的各自特征和解决方案,想详细了解的可以移步。 最近在配合HR筛选候选人,作为大厂的业务方向负责人,招人主要也是我们自己团队在用,而缓存是必不可少的面试选项之一。下面我们就来聊一聊在特定业务场景下缓存击穿和 ......
红袖添香,绝代妖娆,Ruby语言基础入门教程之Ruby3基础语法,第一次亲密接触EP01
书接上回,前一篇我们在全平台构建好了Ruby3的开发环境,现在,可以和Ruby3第一次亲密接触了。 Ruby是一门在面向对象层面无所不用其极的解释型编程语言。 我们可以把编写Ruby代码看作是一场行为上的艺术,编码就像跳舞一样,Ruby的每一步都很优雅,几乎没有一步是多余的。 第一行代码 进入系统的 ......