前言 近段时间在了解分布式时,经常绕不开一个算法: 一致性哈希算法。于是在了解并实践这个算法后,就有了此文章。 算法间的对比 在分布式分片中,存在着几种算法: 取模,分段,一致性 hash。 取模 分段 一致性哈希 上层是否感知 是 是 否 迁移成本 高 高 低,只涉及相邻节点 单点故障影响 高 高 ...
分类:
编程语言 时间:
2021-02-04 12:15:26
阅读次数:
0
单点上传文件 原先来的单点上传文件就是在同一个系统内上传 graph LR A(图片系统) -->B[图片服务器] C(支付系统) -->D[支付服务器] E(后台系统) -->F[后台服务器] 使用FastDFS分布式文件上传 FastDFS:使用C语音编写的一款分布式文件系统,FastDFS充分 ...
分类:
其他好文 时间:
2021-02-03 10:30:31
阅读次数:
0
Git基本操作命令合集 平时自己敲敲代码,使用Git命令也渐渐多了起来。使用起来的确很方便,今天来分享下Git基本概念和本地代码提交到github上的过程,很简单的,多操作几次就会了。 1|0Git定义 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 与常用的 ...
分类:
其他好文 时间:
2021-02-03 10:29:50
阅读次数:
0
一 介绍 原来scrapy的Scheduler维护的是本机的任务队列(存放Request对象及其回调函数等信息)+本机的去重队列(存放访问过的url地址) 所以实现分布式爬取的关键就是,找一台专门的主机上运行一个共享的队列比如Redis,然后重写Scrapy的Scheduler,让新的Schedul ...
分类:
其他好文 时间:
2021-02-02 11:24:43
阅读次数:
0
在之前的项目中分布式锁和限流是基于redis进行的,分布式锁基于setnx和expire命令实现,也可以基于lua脚本实现。限流是采用固定时间窗算法进行的。 最近了解到redisson这个工具类,而且基于其分布式锁的实现是比较常见的,简单研究下其使用。 官网:wiki地址 https://githu ...
分类:
其他好文 时间:
2021-02-02 11:13:05
阅读次数:
0
SpringBoot2.0+JTA+Atomikos 解决多数据源分布式事务问题 ...
分类:
编程语言 时间:
2021-02-02 11:06:27
阅读次数:
0
承接上篇:上篇文章讲到改造 go-zero 生成的 app module 中的 gateway & RPC 。本篇讲讲如何接入 异步任务 以及 log的使用。 Delay Job 日常任务开放中,我们会有很多异步、批量、定时、延迟任务要处理,go-zero中有 go-queue,推荐使用 go-qu ...
分类:
其他好文 时间:
2021-02-02 10:46:15
阅读次数:
0
1. 前言 Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管; 2. Git基本原理 2.1 哈希 哈希是一系列的加密算法,特点如下: 1. 不管输入数据量多大,输入到同一个哈希算法,得到的密文长度一定 2. 哈希算法确定,输入的数据确定,那么输出的密文保持不变 ...
分类:
其他好文 时间:
2021-02-01 13:00:21
阅读次数:
0
两阶段提交 two-phase commit (2PC) 三阶段提交 three-phase commit (3PC) Paxos 算法 ZAB 算法 2PC 两阶段提交,强一致性算法。常用在分布式数据库中,如分布式事务(tcc)。 undo 记录原始数据的样子,事务失败了恢复,成功了记入 redo ...
分类:
其他好文 时间:
2021-02-01 12:36:44
阅读次数:
0
分布式系统为了保证系统稳定性,在服务治理的限流中会根据不同场景进行限流操作,常见的限流算法有: 令牌桶:可容忍一定突发流量的速率的限流,令牌桶算法的原理是系统以恒定的速率产生令牌,然后把令牌放到令牌桶中,令牌桶有一个容量,当令牌桶满了的时候,再向其中放令牌,那么多余的令牌会被丢弃;当想要处理一个请求 ...
分类:
其他好文 时间:
2021-02-01 12:26:19
阅读次数:
0