1. 背景介绍近期接到任务,需要用Golang开发一个基于Redis的分布式锁,因为目前网上已存在的golang分布式锁要么是性能都不够,要么就是功能不全,根据网上收集到的资料,最终决定参考Redisson的设计思想来设计Go语言的Redis分布式锁。完整代码可以点这里: 外网:GitHub DisGo 内网:Gitee DisGo2. 难点分析主流分布式锁的对比MySQLZookeeperRed
1. go实现分布式锁通过 golang 实现一个简单的分布式锁,包括锁续约、重试机制、singleflght机制的使用1.1 redis_lock.gopackage redis_lock import ( "context" _ "embed" "errors" "github.com/go-redis/redis/v9" "github.com/google/uuid" "go
转载 2023-10-08 23:44:33
314阅读
最近在学 Golang(Go语言),也在 Github 上找了一些基于 Golang 的优秀开源框架,在这里分享给大家。一、Gin 框架(45.7k star)Gin 是一个用 Go (Golang) 编写的 HTTP web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架, 优于 httprouter,速度提高了近 40 倍。Gin 框架的特性:支持中间件,传入的 HTT
转载 2023-11-06 22:22:35
171阅读
需求背景目前各服务里经常会有定时任务相关需求,而定时任务通常要求同时只有一个任务执行,为了保证定时任务高可以通常也需要主备部署,导致开发定义任务时需要考虑锁竞争关系,以及考虑任务执行状态(成功、失败、重试等)。因此考虑实现一个统一的分布式任务调度服务,解决如下问题:支持一次性执行任务(一次性任务可以延迟执行);支持cron方式定时执行任务;任务分布式执行,高可用支持;支持简单任务状态统一监控(记录
在系统开发中,有一类任务不是立即执行,而是在未来某个时间点或者按照一定间隔去执行,比如日志定期压缩、报表制作、过期数据清理等,这就是定时任务。在单机中,定时任务通常需要实现一个类似crontab的系统,一般有两种方式:最小堆,按照任务执行时间建堆,每次取最近的任务执行时间轮,将任务放到时间轮列表中,每次转动取对应的任务列表执行最小堆最小堆是一种特殊的完全二叉树,任意非叶子节点的值不大于其子节点,如
作者: Super 导语:hashicorp/raft是raft算法的一种比较流行的golang实现,基于它能够比较方便的构建具有强一致性的分布式系统。本文通过实现一个简单的分布式缓存系统来介绍使用hashicorp/raft来构建分布式应用程序的方法。 1. 背景 对于后台开发来说,随着业务的发展,由于访问量增大的压力和数据容灾的需要,一定会需要使用分布式的系统,而分
提到分布式系统,我们会想到很多机器,分别部署着各自的服务,然后整体组成一个分布式系统。在这类系统中,分布式系统与常规的集中式系统存在着以下三个区别。(来自分布式算法导论)1、缺乏全局状态知识2、缺乏全局时间帧3、非确定性这三大特点也成为分布式系统设计的难点。也正是如此,分布式系统的设计比常规的集中式系统要难的多。为了区别,我们称这种分布式系统为,群体分布式。这种犹如社会群体。golang语言天生具
目录1. Hadoop是什么2. Hadoop 的发展历史3. 在Docker上运行Hadoop3.1 使用官方镜像3.2 安装验证  ???结束语???1. Hadoop是什么作为当今大数据处理领域的经典分布式平台,Apache Hadoop主要基于Java语言实现,由三个核心子系统组成:HDFS、YARN、MapReduce,其中,HDFS是一
转载 2023-08-04 10:44:52
92阅读
1. Hadoop概述Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。HDFS的高容错性、高伸缩性等优点允许用户将Hadoop部署在低廉的硬件上,形成
转载 2023-09-20 10:59:56
53阅读
一、Hadoop是什么Hadoop是一个由Apache基金会所开发的分布式系统基础架构,它是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop框架中最核心设计就是:HDFS和MapReduce.HD
转载 2023-07-12 12:13:58
244阅读
Hadoop 基础1.搜索引擎在internet的海量数据中搜索特定的内容,Apache的hadoop是一种是一种实现海量数据搜索的分布式框架。 2.Hadoop 是一个能够对大量数据进行分布式处理的软件框架。 3. Hadoop 的处理方式 “可靠、高效、可伸缩”可靠:因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。高效:因
转载 2023-06-14 15:56:26
146阅读
参考文献: 从Hadoop 2.3.0 开始,加入了集中式缓存管理(HDFS centralized cache management)。特点:由namenode管理。那么HDFS client(例如MapReduce、Impala)就可以根据block被cache的分布情况去调度任务,做到memory-locality。HDFS原来单纯靠DataNode的OS buffer cache,这样不但
分布式模式也是在一台单机上运行,集群中的结点由一个NameNode和若干个DataNode组,另有一个SecondaryNameNode作为NameNode的备份。一个机器上,既当namenode,又当datanode,或者说既是jobtracker,又是tasktracker。没有所谓的在多台机器上进行真正的分布式计算,故称为"伪分布式"。开启多个进程模拟完全分布式,但是并没有真正提高程序执行
文章目录一、MapReduce基础入门1.为什么要MapReduce2.MapReduce优缺点3.MapReduce进程结构4.MapReduce程序运行流程分析二、MapReduce框架原理1.工作流程2.InputFormat3.MapTask4.Combiner5.Shuffle6.ReduceTask7.OutputFormat 一、MapReduce基础入门MapReduce是一个分
文章目录一、什么是Hadoop二、Hadoop的优点三、核心架构四、HDFS交互关系五、Hadoop的常用模块六、HADOOP生态圈以及各组成部分的简介七、Hadoop的配置文件 一、什么是HadoopHadoop 是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(H
转载 2023-07-04 10:54:30
83阅读
文章目录一、hadoop 简介基于hadoop的整体分布式模块交互1)分布式系统的定义2)核心内容:文件的目录结构独立存储在一个NameNode上,二具体文件数据,拆分成若干块,冗余的存放在不基于Hadoop的HDFShadoop:HDFS:准备工作:二、安装配置主从机无密登录环境变量配置 一、hadoop 简介基于hadoop的整体分布式模块交互1)分布式系统的定义把数据放到一个服务器集群上面
作为最早开源的大数据框架,Hadoop经历了相当长的一段黄金发展时期,在大数据的发展当中,Hadoop也在随着大趋势不断优化调整,但是分布式架构始终是不变的主旨。今天的大数据开发分享,我们来对Hadoop分布式架构做一个具体的讲解。 Hadoop是Apache软件基金会下的一个开源分布式计算平台,在业内应用非常广泛,可以说是大数据的代名词,也是分布式计算架构的鼻祖。几乎所有主流厂商都围绕Hadoo
1. hadoop集群规划1.准备3台客户机(关闭防火墙,静态ip,主机名称)2.安装jdk3.配置环境变量4.安装hadoophadoop版本是3.1.3,包名为hadoop-3.1.3.tar.gz5.配置环境变量6.配置集群7.单点启动8.配置ssh9.群起集群并测试集群注意: NameNode和SecondaryNameNode和ResourceManage三者很消耗内存,不要安装在同一
转载 2023-06-25 12:46:35
103阅读
记录我的hadoop学习路线,也希望能帮助到正在学习hadoop可爱的亲们!杰普企业老师指点大纲:一、搭建Hadoop分布式集群前提    1.1、网络    1.2、安装jdk    1.3、安装hadoop二、Hadoop分布式集群配置免密登录实现主节点控制从节点&nbs
1. Hadoop部署1.1 集群部署规划注意:NameNode和SecondaryNameNode不要安装在同一台服务器。注意:ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上。hadoop102hadoop103hadoop104HSFSNameNode DataNodeDataNodeSecondaryNameNode
转载 2023-08-18 21:16:10
49阅读
  • 1
  • 2
  • 3
  • 4
  • 5