精华内容
下载资源
问答
  • 大多数人都知道或者善用多种版本管理系统,传统集中式版本管理系统有CVS、SVN等,后来,出现了一些分布式管理系统,如GIT、Mercurial等。几乎所有有开发工作的公司,都会选择一个版本管理系统,并且制定一些规范来...

    大多数人都知道或者善用多种版本管理系统,传统集中式版本管理系统有CVS、SVN等,后来,出现了一些分布式管理系统,如GIT、Mercurial等。几乎所有有开发工作的公司,都会选择一个版本管理系统,并且制定一些规范来管理代码,道理很简单,使用版本管理系统能在多人开发,跟进bug,追查问题方面减少很多管理和沟通的成本。

    但是,我觉得个人的代码,包括一些软件配置文件,完全可以使用分布式版本管理系统来管理,可以让我们减轻很多麻烦。

    使用传统的集中式版本控制软件来管理,好处如下:

    1. 不用担心因为无意的错误修改,删除而丢失过去的代码
    2. 可以随时查看历史情况,你就不用为“xx功能、yy修改到底是什么时候加进来的,为什么要加”这类事情而挠破头皮了
    3. 可以进行分支开发,比如说一个功能你不是很确定能否实现,拉一个分支开发就是了

    更进一步,使用分布式的版本控制还有如下好处:

    1. 在本地就有版本仓库,你可以在任何时候进行ci和roolback,无需联网
    2. 超级快速的分支切换
    3. 方便的和他人(其他机器)共享代码,一个push,或者pull,就能快速的同步修改

    下面我举几个例子来让大家感受一下善用分布式版本管理的好处。

    保证多台机器上的配置文件统一

    我们有很多很多配置文件,尤其是linux下。vim配置,apache站点设置,桌面的配置,pidgin的账号设置等等。
    但是如果有多台计算机,如果两台机器上配置不统一,用起来不顺手,更可能会带来麻烦,我们需要找到这些配置文件,并且拷贝一份最新的到当前机器,但是如果两边都有修改,就可能会丢失修改,或者需要手动merge。
    过去可能用人使用过rsync来同步文件,能解决部分问题,但是如果使用分布式版本管理系统,在每台机器上都有一个独立的代码仓库,用这来管理配置文件再方便不过了!

    首先,我们现在一台拥有最新版本配置文件的机器上初始化一个版本库

    cd ~/
    hg init
    hg add .vimrc .screenrc .fvwm #添加所有你关注的配置文件

    然后,一旦有新机器需要使用这个配置,clone一份即可

    cd ~/
    hg clone ssh://berg@lastPC://home/berg/
    hg up

    如果在任何一台机器上有修改,只需要ci到当前机器,并且到其他机器上pull这份修改。

    hg ci
    ssh berg@anotherPC://home/berg/

    我们不需要关心代码的合并,也不需要关心配置文件的具体名称和位置(在linux下面,所有的配置都是隐藏文件),一切细节都交给mercurial来管理。

    使用中心服务器

    分布式管理原则上是没有一个强制的中心服务器,但是如果我们在管理的规则中加上中心服务器,在某些时候就能避免一些尴尬的发生。

    举一个例子,假设我有三个开发环境,一台在公司,一台在家里,还有一台服务器。在公司时,我家里的机器是离线的,在家里则反过来。于是我白天在公司开发完毕后,想在家里获得最新的版本,最简单的办法就是在服务器上架设一个中心版本库,下班时,push代码到服务器上,回家就可以直接pull了。

    使用中心服务器可以避免在需要开发时,发现最新版本所在计算机不在身边,并且处于离线状态的尴尬。

    灵活的分支开发

    不要以为分支功能在小项目中就毫无用处,有的时候,善用分支可以减少很多麻烦。而集中的版本控制系统处理分支很麻烦,让人避退三舍,可是到了分布式版本控制这里,分支变得很简单,看看下面的例子。

    我在开发一个项目时,遇到了一个较大的修改,涉及面较广。
    如果直接在主干上开发,如果在开发过程中发现了bug,或者其他临时插入的想法,我有两种选择:

    1. 直接在线上修改,或者重新clone一份到本地的其他目录进行开发
    2. 把“projectA”这个项目做为一个分支在本地开发

    两种好处的优劣是很明显的,第一种,我要么需要冒线上修改的风险,要么需要在本地配置另外一套环境;而第二种,我只需要在碰到其他问题的时候,将分支切换回去就好了。下面是命令示例:

    首先,将本地仓库的当前branch设置成项目A的名称:projectA

    hg branch projectA

    我进行projectA分支的开发,如果在开发的过程中,我需要切换到原来的分支:

    hg ci -m "projectA commit"
     
    hg up default #切换到主干

    开发完毕后提交并且push到线上:

    hg ci -m "modified something"
     
    hg push

    接下来我又能迅速的切换回原来开发到原来开发到一半的uploadify分支

    hg up projectA

    分布式版本管理的好处一下就体现出来了,我可以在本地迅速的切换分支,分支建立的成本也很低。这样能让我们更灵活的应对需求

    小结

    好了,本文就写到这里。小结一下,使用分布式版本管理系统管理个人mini项目、软件配置文件,能给开发和管理带来很大的便利,使用中心版本仓库能避免机器离线导致无法获取最新代码的问题,善用分支能让开发者更灵活的应对需求。

     

    转自:冰山一角http://www.pmme.cn/archive/manage-your-code-with-mercurial/

    展开全文
  • 分布式文件系统解决了海量文件存储及传输访问的瓶颈问题,对海量视频的管理、对海量图片的管理等。 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是...

    什么是分布式文件系统

    分布式文件系统解决了海量文件存储及传输访问的瓶颈问题,对海量视频的管理、对海量图片的管理等。

    分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连

     

    为什么会有分布文件系统

    1.存在问题

    分布式文件系统是面对互联网的需求而产生,互联网时代对海量数据如何存储?靠简单的增加硬盘的个数已经满足不了我们的要求,因为硬盘传输速度有限但是数据在急剧增长,另外我们还要要做好数据备份、数据安全等问题。

    2.解决办法

    采用分布式文件系统可以将多个地点的文件系统通过网络连接起来,组成一个文件系统网络,结点之间通过网络进行通信,一台文件系统的存储和传输能力有限,我们让文件在多台计算机上存储,通过多台计算共同传输

    好处

    1.一台计算机的文件系统处理能力扩充到多台计算机同时处理

    2.如果一台计算机挂了,还有另外副本计算机提供数据。

    3.每台计算机可以放在不同的地域,这样用户就可以就近访问,提高访问速度

     

    主流的分布式文件系统

    ①NFS

    在客户端上映射NFS服务器的驱动器,客户端通过网络访问NFS服务器的硬盘完全透明。

     

    ②GFS

    GFS采用主从结构,一个GFS集群由一个master大量的chunkserver组成。master存储了数据文件的元数据,一个文件被分成了若干块存储在多个chunkserver中。用户从master中获取数据元信息,从chunkserver存储数据。

     

    ③HDFS

    Hadoop分布式文件系统主要用于大数据。HDFS采用主从结构,一个HDFS集群由一个名称结点若干数据结点组成

    名称结点存储数据的元信息,一个完整的数据文件分成若干块存储在数据结点。客户端从名称结点获取数据的元信息及数据分块的信息,得到信息客户端即可从数据块来存取数据。

     

     

    展开全文
  • 说起分布式文件管理系统,大家可能很容易想到 HDFS、GFS 等系统,前者是 Hadoop 的一部分,后者则是 Google 提供的分布式文件管理系统。除了这些之外,国内淘宝和腾讯也有自己的分布式文件管理系统,都叫 TFS...

    说起分布式文件管理系统,大家可能很容易想到 HDFS、GFS 等系统,前者是 Hadoop 的一部分,后者则是 Google 提供的分布式文件管理系统。除了这些之外,国内淘宝和腾讯也有自己的分布式文件管理系统,都叫 TFS(Taobao File SystemTencent File System)。

    相对于上面提到的这些分布式文件管理系统而言,FastDFS 可能离我们 Java 工程师更近一些,因为文件上传这个功能太常见了,而想要搭建独立的分布式文件管理系统,FastDFS+Nginx 组合无疑是最佳方案。因此,松哥今天就来和大家简单聊一聊这个问题。

    如果小伙伴们还不懂在传统的开发环境下如何进行文件上传,可以参考松哥之前发的文件上传教程:

    1.什么是 FastDFS

    1.1 FastDFS 简介

    FastDFS 由淘宝的余庆大佬在 2008 年开源的一款轻量级分布式文件管理系统,FastDFS 用 C 语言实现,支持 Linux、FreeBSD、MacOS 等类 UNIX 系统。FastDFS 类似 google FS,属于应用级文件系统,不是通用的文件系统,只能通过专有 API 访问,目前提供了 C 和 Java SDK ,以及 PHP 扩展 SDK。

    这款开源软件从发布至今,历经数十年,这款开源软件的生命力依然旺盛,在业界依然备受推崇,当然这也得益于作者一直在不断完善该软件。

    FastDFS 专为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高扩展性,它可以看做是基于文件的 key/value 存储系统,key 为文件 ID,value 为文件内容,因此称作分布式文件存储服务更为合适。

    1.2 为什么需要 FastDFS

    传统的企业级开发对于高并发要求不是很高,而且数据量可能也不大,在这样的环境下文件管理可能非常 Easy。

    但是互联网应用访问量大、数据量大,在互联网应用中,我们必须考虑解决文件大容量存储和高性能访问的问题,而 FastDFS 就特别适合干这件事情,常见的图片存储、视频存储、文档存储等等我们都可以采用 FastDFS 来做。

    1.3 FastDFS 架构

    作为一款分布式文件管理系统,FastDFS 主要包括四个方面的功能:

    • 文件存储
    • 文件同步
    • 文件上传
    • 文件下载

    这个方面的功能,基本上就能搞定我们常见的文件管理需求了。

    下面这是一张来自 FastDFS 官网的系统架构图:

    从上面这张图中我们可以看到,FastDFS 架构包括 Tracker 和 Storage 两部分,看名字大概就能知道,Tracker 用来追踪文件,相当于是文件的一个索引,而 Storage 则用来保存文件。

    我们上传文件的文件最终保存在 Storage 上,文件的元数据信息保存在 Tracker 上,通过 Tracker 可以实现对 Storage 的负载均衡。

    Storage 一般会搭建成集群,一个 Storage Cluster 可以由多个组构成,不同的组之间不进行通信,一个组又相当于一个小的集群,组由多个 Storage Server 组成,组内的 Storage Server 会通过连接进行文件同步来保证高可用。

    2.FastDFS 安装

    介绍完 FastDFS 之后,相信小伙伴已经摩拳擦掌跃跃欲试了,接下来我们就来看下 FastDFS 的安装。

    我这里为了测试方便,就不开启多台虚拟机了,Tracker 和 Storage 我将安装在同一台服务器上。

    图片上传我们一般使用 FastDFS,图片上传成功之后,接下来的图片访问我们一般采用 Nginx,所以这里的安装我将从三个方面来介绍:

    • Tracker 安装
    • Storage 安装
    • Nginx 安装

    2.1 Tracker 安装

    安装,我们首先需要准备一个环境两个库以及一个安装包。

    1.一个环境

    先来看一个环境,由于 FastDFS 采用 C 语言开发,所以在安装之前,如果没有 gcc 环境,需要先安装,安装命令如下:

    yum install gcc-c++
    

    2.两个库

    再来看两个库,由于 FastDFS 依赖 libevent 库,安装命令如下:

    yum -y install libevent
    

    另一个库是 libfastcommon,这是 FastDFS 官方提供的,它包含了 FastDFS 运行所需要的一些基础库。

    libfastcommon 下载地址:https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz

    考虑到 GitHub 访问较慢,松哥已经把安装文件下载好了,放在百度网盘上,小伙伴们可以在松哥公众号后台回复 fastdfs 获取下载链接。

    将下载好的 libfastcommon 拷贝至 /usr/local/ 目录下,然后依次执行如下命令:

    cd /usr/local
    tar -zxvf V1.0.43.tar.gz
    cd libfastcommon-1.0.43/
    ./make.sh
    ./make.sh install
    

    3.一个安装包

    接下来我们下载 Tracker,注意,由于 Tracker 和 Storage 是相同的安装包,所以下载一次即可(2.2 小节中不用再次下载)。

    安装文件可以从 FastDFS 的 GitHub 仓库上下载,下载地址:https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz

    考虑到 GitHub 访问较慢,松哥已经把安装文件下载好了,放在百度网盘上,小伙伴们可以在松哥公众号后台回复 fastdfs 获取下载链接。

    下载成功后,将下载文件拷贝到 /usr/local 目录下,然后依次执行如下命令安装:

    cd /usr/local
    tar -zxvf V6.06.tar.gz
    cd fastdfs-6.06/
    ./make.sh
    ./make.sh install
    

    安装成功后,执行如下命令,将安装目录内 conf 目录下的配置文件拷贝到 /etc/fdfs 目录下:

    cd conf/
    cp ./* /etc/fdfs/
    

    4.配置

    接下来进入 /etc/fdfs/ 目录下进行配置:

    打开 tracker.conf 文件:

    vi tracker.conf
    

    修改如下配置:

    默认端口是 22122,可以根据实际需求修改,我这里就不改了。然后下面配置一下元数据的保存目录(注意目录要存在)。

    5.启动

    接下来执行如下命令启动 Tracker:

    /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
    

    如此之后,我们的 Tracker 就算安装成功了。

    2.2 Storage 安装

    简单起见,这里我们搭建一个 Storage 实例即可。Storage 安装也需要 libevent 和 libfastcommon,这两个库的安装参考上文,这里我不在细说。

    Storage 本身的安装,也和 Tracker 一致,执行命令也都一样,因为我这里将 Tracker 和 Storage 安装在同一台服务器上,所以不用再执行安装命令了(相当于安装 Tracker 时已经安装了 Storage 了)。

    唯一要做的,就是进入到 /etc/fdfs 目录下,配置 Storage:

    vi storage.conf
    

    这里一共配置三个地方,分别是 base_path、store_path0 以及 tracker_server ,tracker_server 模板有两个地址,我们这里只有一个,配置完成后,记得注释掉另外一个不用的。

    配置完成后,执行如下命令启动 Storage:

    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
    

    这两个启动完成后,现在就可以做文件的上传了,但是一般如果是图片文件,我们还需要提供一个图片的访问功能,目前来说最佳方案当然是 Nginx 了,所以我们这里连同 Nginx 一起配置好,再来做测试。

    2.3 Nginx 安装

    Nginx 可以算是 FastDFS 的重要搭档。

    Nginx 的安装分为两个步骤:

    • 安装 Nginx
    • 首先在 Storage 下安装 fastdfs-nginx-module

    第一步简单,松哥之前专门写过一篇文章扫盲 Nginx,所以 Nginx 安装大家直接参考这里:Nginx 极简入门教程!

    接下来看第二步。

    首先下载 fastdfs-nginx-module,下载地址:https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gz

    考虑到 GitHub 访问较慢,松哥已经把安装文件下载好了,放在百度网盘上,小伙伴们可以在松哥公众号后台回复 fastdfs 获取下载链接。

    下载完成后,将下载的文件拷贝到 /usr/local 目录下。然后进入 /usr/local 目录,分别执行如下命令:

    cd /usr/local
    tar -zxvf V1.22.tar.gz
    

    然后将 /usr/local/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf 文件拷贝到 /etc/fdfs/ 目录下,并修改该文件的内容:

    vi /etc/fdfs/mod_fastdfs.conf
    

    接下来,回到第一步下载的 nginx 安装文件的解压目录中,执行如下命令,重新配置编译安装:

    ./configure --add-module=/usr/local/fastdfs-nginx-module-1.22/src
    make
    make install
    

    安装完成后,修改 nginx 的配置文件,如下:

    vi /usr/local/nginx/conf/nginx.conf
    

    在这里配置 nginx 请求转发。

    配置完成后,启动 nginx,看到如下日志,表示 nginx 启动成功:

    ngx_http_fastdfs_set pid=9908
    

    疑问:fastdfs-nginx-module 有啥用

    看了整个安装过程之后,很多小伙伴有疑问,到头来还是 nginx 本身直接找到了图片文件目录,fastdfs-nginx-module 到底有啥用?

    前面我们说过,Storage 由很多组构成,每个组又是一个小的集群,在每一个组里边,数据会进行同步,但是如果数据还没同步,这个时候就有请求发来了,该怎么办?此时fastdfs-nginx-module 会帮助我们直接从源 Storage 上获取文件。

    安装成功了。

    3.Java 客户端调用

    安装成功后,接下来我们就用 Java 客户端来测试一下文件上传下载。

    首先我们来创建一个普通的 Maven 工程,添加如下依赖:

    <dependency>
        <groupId>net.oschina.zcx7878</groupId>
        <artifactId>fastdfs-client-java</artifactId>
        <version>1.27.0.0</version>
    </dependency>
    

    然后,在项目的 resources 目录下添加 FastDFS 的配置文件 fastdfs-client.properties,内容如下:

    fastdfs.connect_timeout_in_seconds = 5
    fastdfs.network_timeout_in_seconds = 30
    fastdfs.charset = UTF-8
    fastdfs.http_anti_steal_token = false
    fastdfs.http_secret_key = FastDFS1234567890
    fastdfs.http_tracker_http_port = 80
    fastdfs.tracker_servers = 192.168.91.128:22122
    fastdfs.connection_pool.enabled = true
    fastdfs.connection_pool.max_count_per_entry = 500
    fastdfs.connection_pool.max_idle_time = 3600
    fastdfs.connection_pool.max_wait_time_in_ms = 1000
    

    这里的配置基本上都能见名知义,我就不挨个解释了。这里先配置下 fastdfs.tracker_servers,这是 Tracker 的地址,根据实际情况配置即可。

    fastdfs.http_secret_key 配置这里先不用管它,后面我会跟大家解释。

    3.1 文件上传

    配置完成后,先来看文件上传,代码如下:

    @Test
    void testUpload() {
        try {
            ClientGlobal.initByProperties("fastdfs-client.properties");
            TrackerClient tracker = new TrackerClient();
            TrackerServer trackerServer = tracker.getConnection();
            StorageServer storageServer = null;
            StorageClient1 client = new StorageClient1(trackerServer, storageServer);
            NameValuePair nvp[] = null;
            //上传到文件系统
            String fileId = client.upload_file1("C:\\Users\\javaboy\\Pictures\\picpick\\1.png", "png",
                    nvp);
            logger.info(fileId);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    

    这里,首先加载配置文件,然后构造一个 TrackerClient 对象,接着再根据这个对象获取到一个 TrackerServer,然后创建一个 StorageClient1 实例。NameValuePair 中保存的是文件的元数据信息,如果有的话,就以 key/value 的方式来设置,如果没有的话,直接给一个 null 即可。

    最后,调用 client 的 upload_file1 方法上传文件,第一个参数是文件路径,第二个参数是文件的扩展名,第三个参数就是文件的元数据信息,这个方法的返回值,就是上传文件的访问路径。执行该方法,打印日志如下:

    2020-02-29 17:46:03.017  INFO 6184 --- [           main] o.j.fastdfs.FastdfsApplicationTests      : group1/M00/00/00/wKhbgF5aMteAWy0gAAJkI7-2yGk361.png
    

    group1/M00/00/00/wKhbgF5aMteAWy0gAAJkI7-2yGk361.png 就是文件的路径,此时,在浏览器中输入 http://192.168.91.128/group1/M00/00/00/wKhbgF5aMteAWy0gAAJkI7-2yGk361.png 就可以看到上传的图片了。

    3.2 文件下载

    @Test
    void testDownload() {
        try {
            ClientGlobal.initByProperties("fastdfs-client.properties");
            TrackerClient tracker = new TrackerClient();
            TrackerServer trackerServer = tracker.getConnection();
            StorageServer storageServer = null;
            StorageClient1 client = new StorageClient1(trackerServer, storageServer);
            byte[] bytes = client.download_file1("group1/M00/00/00/wKhbgF5aMteAWy0gAAJkI7-2yGk361.png");
            FileOutputStream fos = new FileOutputStream(new File("C:\\Users\\javaboy\\Pictures\\picpick\\666.png"));
            fos.write(bytes);
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    

    这段代码就很好理解了,直接调用 download_file1 方法获取到一个 byte 数组,然后通过 IO 流写出到本地文件即可。

    4.安全问题

    现在,任何人都可以访问我们服务器上传文件,这肯定是不行的,这个问题好解决,加一个上传时候的令牌即可。

    首先我们在服务端开启令牌校验:

    vi /etc/fdfs/http.conf
    

    配置完成后,记得重启服务端:

    ./nginx -s stop
    ./nginx
    

    接下来,在前端准备一个获取令牌的方法,如下:

    @Test
    public void getToken() throws Exception {
        int ts = (int) Instant.now().getEpochSecond();
        String token = ProtoCommon.getToken("M00/00/00/wKhbgF5aMteAWy0gAAJkI7-2yGk361.png", ts, "FastDFS1234567890");
        StringBuilder sb = new StringBuilder();
        sb.append("?token=").append(token);
        sb.append("&ts=").append(ts);
        System.out.println(sb.toString());
    }
    

    这里,我们主要是根据 ProtoCommon.getToken 方法来获取令牌,注意这个方法的第一个参数是你要访问的文件 id,**注意,这个地址里边不包含 group,千万别搞错了;**第二个参数是时间戳,第三个参数是密钥,密钥要和服务端的配置一致。

    将生成的字符串拼接,追加到访问路径后面,如:http://192.168.91.128/group1/M00/00/00/wKhbgF5aMteAWy0gAAJkI7-2yGk361.png?token=7e329cc50307000283a3ad3592bb6d32&ts=1582975854此时访问路径里边如果没有令牌,会访问失败。

    好了,大功告成!下次和大家讲我如何在 Spring Boot 中玩这个东西。

    展开全文
  • 分布式配置管理系统QConf

    千次阅读 2016-01-10 21:33:43
    分布式配置管理系统QConf  分布式配置管理系统QConf是360公司开源的系统,详见:https://github.com/Qihoo360/QConf  整体架构图如下:    资料:1. https://github.com/Qihoo360/QConf  2. ...
    分布式配置管理系统QConf

          分布式配置管理系统QConf是360公司开源的系统,详见:https://github.com/Qihoo360/QConf
          整体架构图如下:
          

          资料:1. https://github.com/Qihoo360/QConf
                     2. http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=208311811&idx=1&sn=1c0b16d2e284ad0d5d65e5311e81010d&utm_source=tuicool&utm_medium=referral
    展开全文
  • 分布式秒杀系统

    千次阅读 2019-03-19 22:57:07
    基于Spring+SpringMVC+Hibernate+Dubbo分布式开发系统架构,提供高并发、分布式秒杀系统解决方案,项目以电商业务为背景,主要包含商品管理、订单管理、支付中心、商家资金管理、买家资金管理、积分管理、可靠消息...
  • 分布式操作系统

    千次阅读 2017-06-09 21:42:35
    分布式操作系统属于分布式软件系统其中的一部分,主要负责负责管理分布式处理系统资源和控制分布式程序运行。 分布式操作系统共享资源、加强通信、通过负载平衡提高系统的效率,扩充了系统能力。 2.分布式系统的...
  • hadoop之分布式文件管理系统HDFS

    千次阅读 2020-07-02 15:10:07
    hadoop之分布式文件管理系统HDFS 0.什么是HDFS HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的...
  • 分布式数据库系统

    2019-04-12 11:38:40
    分布式数据库系统是相对于集中式数据库系统而言的,是将数据库技术与网络技术相结合的产物。分布式数据库(Distributed DataBase,DDB)比较确切的定义是:分布式数据库是由一组数据组成的,这组数据分布在计算机...
  • 分布式管理

    千次阅读 2019-01-09 18:02:12
    分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。以上是百度百科的解释,简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在...
  • 开源分布式存储系统的对比

    万次阅读 多人点赞 2018-04-20 16:32:49
    我们在选型开源分布式存储系统框架之前需要对不同的框架进行调研。 所有的开源存储系统介绍链接 存储系统对比 目前比较热门的分布式文件系统有如下几种: Ceph,GlusterFS,Sheepdog,Lustre,Swift,Cinder,TFS,HDFS...
  • 分布式文件系统概述

    千次阅读 2017-11-27 13:48:17
    GFS分布式文件系统简介文件系统是在物理存储和文件操作之间的抽象层,使得文件管理,存储管理更加方便。分布式文件系统,使得文件系统容易扩容,方便配置,方便共享和管理。当然具体解释就是文件系统管理的物理存储...
  • 分布式系统

    千次阅读 2014-01-14 00:01:30
    内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数
  • 分布式操作系统入门

    千次阅读 2019-03-27 17:53:49
    第一章:分布式操作系统概述 1.分布式操作系统概念 什么是分布式操作系统? 简单来说就是有一堆计算机,各自物理硬件上是独立的,通过网络相连,互相通信,通过统一的“中间件”进行协调,共享资源,协同分工完成...
  • 分布式计算机系统

    2019-09-25 21:06:48
    所谓分布式计算机系统,是指由多台分散的计算机,经互连网络的联接而形成的系统系统的处理和控制功能分布在各个计算机上。分布式计算机系统又简称为分布式系统。 1)通信结构:通信结构是指支持各个计算机联网,...
  • 分布式权限管理系统-架构篇

    千次阅读 2019-04-19 10:40:41
    文章目录后台管理系统也需要微服务化痛点一:庞大的后台管理系统痛点二:各自独立的后台管理系统管理员模块1.管理员的分级管理。2.管理员账号与用户账号的分开管理。可以考虑分开两张表管理或者加一个标志位。3.权限...
  • 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 。是一种允许文件...
  • 分布式文件系统

    千次阅读 2012-06-19 15:24:28
    分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供...
  • 分布式存储系统

    千次阅读 2017-05-23 15:36:13
    (一)分布式存储系统应该具备的能力; (二)阿里云分布式存储系统盘古的介绍; (三)分布式系统技术展望。 分布式存储系统应该具备的能力 大数据同生活息息相关,大量数据的出现对分布式存储提出了更高的...
  • 分布式文件系统选型小记

    千次阅读 2020-06-07 23:30:03
    分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,是通过计算机网络与节点(可简单的理解为一台计算机)相连。 为什么要使用分布式文件系统? 提高扩展...
  • 分布式操作系统简介

    千次阅读 2018-03-07 20:54:52
    一个分布式系统是一些独立的计算机的集合,但是对这个系统的用户来说,系统就像一台计算机一样。这个定义有两个方面的含义:第一,从硬件角度来讲,各个计算机都是自治的;第二,从软件角度来讲,用户将整个系统看作...
  • 分布式数据库系统体系结构

    千次阅读 2020-04-29 10:35:06
    分布式数据库系统1)分布式数据库系统概述定义特点优缺点数据共享分类2)分布式数据库系统体系结构数据存储模式结构透明性分布式数据库管理系统 1)分布式数据库系统概述 定义 分布式数据库系统(DDBS)是指数据存放在...
  • 分布式计算机系统概要

    千次阅读 2016-12-28 13:55:18
    下一步的技术发展很难准确...分布式系统需要与集中式系统完全不同的软件。   分布式计算机系统 第一, 从硬件角度来讲,各个计算 机都是自治的;第二,从软件角度 来讲,用户将整个系统看作是一台 计算机。这
  • Git分布式版本管理系统   特色一:分布式   特色二:分支 什么是Git   为了将修改记录的整体流程分叉保存。分叉后的分支不受其他分支的影响,在同一个数据库里可以同时进行多个修改,分叉的分支可以合并 学习...
  • 常见分布式文件系统

    千次阅读 2015-12-14 11:48:46
    分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供...
  • 分布式系统概念

    万次阅读 多人点赞 2018-11-15 16:25:36
    国内来讲,移动互联网的爆发伴随着分布式系统的突现,移动互联网最大的特点是2(to)c的o2o产品越来越多,这跟传统2B的系统最大区别就是用户量的不同,2C系统的用户量远远要高于2b系统,这就对系统提出了各种各样的高...
  • 1.分布式系统的应该有两种基本的层次的架构。 1.1.普通的分布式系统架构,是典型的三层的架构,如下图的分离的分布式系统的一个子系统。 1.2.多个分布式系统构成的分布式系统的超级,可以构建云服务的分布式系统。...
  • 分布式文件系统介绍

    千次阅读 2016-01-05 18:13:05
    1分布式文件系统的一些概念 分布式系统分布式系统是指利用多台计算机协同解决单台计算机所不能解决的计算、存储等问题。...存储、读取和管理这些海量的文件依靠单一的机器无疑是不行的,所以分布式文件系统应运而生。
  • 分布式文件系统HDFS

    千次阅读 2018-02-28 20:01:39
    本文概述:1、大数据特征2、大数据带来的革命性变革3、Google大数据4、分布式文件系统5、HDFS优缺点6、HDFS分布式文件的设计思想7、组成结构8、HDFS架构9、HDFS读写数据流程10、HDFS快照11、HDFS日志收集实战案例 12...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 532,886
精华内容 213,154
关键字:

分布式管理系统