项目实战9—企业级分布式存储应用与实战MogileFS、FastDFS

企业级分布式存储应用与实战-mogilefs

环境:公司已经有了大量沉淀用户,为了让这些沉淀用户长期使用公司平台,公司决定增加用户粘性,逐步发展基于社交属性的多样化业务模式,决定开展用户讨论区、卖家秀、买家秀、用户试穿短视频等业务,因此,公司新的业务的业务特征将需要海量数据存储,你的领导要求基于开源技术,实现对公司海量存储业务的技术研究和实现,你可以完成任务吗?

总项目流程图,详见 http://www.cnblogs.com/along21/p/7435612.html

实验前准备:配置好yum源、防火墙关闭、各节点时钟服务同步

实战一:企业级分布式存储应用与实战 mogilefs 实现

架构图

原理

(1)mogileFS主要由三部分构成:tracker节点,database节点,storage节点

Tracker(MogileFSd 进程):这个是 MogileFS 的核心部分,他是一个调度器,MogileFSd 进程就是trackers进程程序,trackers 做了很多工作:Replication,Deletion,Query,Reaper,Monitor 等等,这个是基于事件的( event-based ) 父进程/消息总线来管理所有来之于客户端应用的交互(requesting operations to be performed),,包括将请求负载平衡到多个"query workers"中,然后让 MogileFSd 的子进程去处理;

MySQL:用来存放 MogileFS 的元数据 (命名空间, 和文件在哪里),是Trackers 来操作和管理它,可以用mogdbsetup程序来初始化数据库,因为数据库保存了MogileFS的所有元数据,建议做成HA架构;

Storage Nodes:这个是 MogileFS 存储文件存放在这些机器上,也是 mogstored 节点,也叫Storage Server,一台存储主要都要启动一个 mogstored 服务.扩容就是增加这些机器,实际文件存放的地方

(2)MogileFS管理的几个概念:

Domain域:一个MogileFS可以有多个Domain,用来存放不同文件(大小,类型),同一个Domain内key必须唯一不同Domain内,key可以相同;

② 每一个存储节点称为一个主机host,一个主机上可以有多个存储设备dev(单独的硬盘),每个设备都有ID号,Domain+Fid用来定位文件。

Class:文件属性管理,定位文件存储在不同设备上的份数

(3)工作流程

每次文件的上传和读取,都经过前端TrackerServer 服务器,trackerServer 服务器受到client 端的请求查询数据库返回一个上传或者是读取的可用的后端StorageServer 的地址,然后由client 端直接操作后端StorageServer 服务器。upload 操作返回就是成功或者失败的结果,read操作就是返回对应的查询数据。

(4)mogilefs 服务很特殊:服务配置完毕,开启服务后;还需命令行命令,服务才能真正生效!

1、环境准备


机器名称


IP配置


服务角色


备注


tracker-srv


192.168.30.107


调度器


tracker、mysql


storage node1


192.168.30.7


文件存放


mogstored 服务


storage node2


192.168.30.2


文件存放


mogstored 服务

2、下载安装,每个机器都一样

两个安装方式:yum安装 和 perl程序安装

方法一:yum安装(推荐)

(1)所依赖的包,centos 自带的

yum install perl-Net-Netmask perl-IO-String perl-Sys-Syslog perl-IO-AIO

(2)服务的rpm包,我已经放在我的网盘里了,需要的私聊 http://pan.baidu.com/s/1c2bGc84

MogileFS-Server-2.46-2.el6.noarch.rpm        #核心服务

perl-Danga-Socket-1.61-1.el6.rf.noarch.rpm  #socket

MogileFS-Server-mogilefsd-2.46-2.el6.noarch.rpm    # tracker节点

perl-MogileFS-Client-1.14-1.el6.noarch.rpm  #客户端

MogileFS-Server-mogstored-2.46-2.el6.noarch.rpm   #Storage存储节点

MogileFS-Utils-2.19-1.el6.noarch.rpm    #主要是MogileFS的一些管理工具,例如mogadm等。

(3)开始安装

cd mogileFS/

yum localinstall ./* -y

方法二:perl程序源码包安装:通过perl的包管理命令cpanm进行安装

(1)依赖的包

yum -y install make gcc unzip perl-DBD-MySQL perl perl-CPAN perl-YAML perl-Time-HiRes

(2)cpanm安装

wget http://xrl.us/cpanm -O /usr/bin/cpanm;

sudo chmod +x /usr/bin/cpanm

#cpanm DBD::mysql

#cpanm MogileFS::Server

#cpanm MogileFS::Utils

#cpanm MogileFS::Client

#cpanm IO::AIO

3、数据库初始化

(1)创建mogilefs 所需要的用户并授权

systemctl start mariadb 开启mysql服务

MariaDB [mogilefs]> GRANT ALL PRIVILEGES ON mogilefs.* TO ‘mogile‘ @‘127.0.0.1‘ IDENTIFIED BY ‘mogile‘ WITH GRANT OPTION;
MariaDB [mogilefs]> flush privileges;    刷新下权限

(2)设定数据库:数据库初始化

mogdbsetup --dbpass=mogile

4、在tracker-srv 服务器上,启动mogilefsd服务

(1)修改管理tracker 的配置文件

vim /etc/mogilefs/mogilefsd.conf

① 配置数据库连接相关信息
db_dsn = DBI:mysql:mogilefs:host=127.0.0.1
db_user = mogile
db_pass = mogile
② 下边的只需修改监听地址和端口
listen = 192.168.30.107:7001 #mogilefs监听地址,监听在127.0.0.1表示只允许从本机登录进行管理
query_jobs = 10   #启动多少个查询工作线程
delete_jobs = 1    #启动多少个删除工作线程
replicate_jobs = 5   #启动多少个复制工作线程
reaper_jobs = 1      #启动多少个用于回收资源的线程
maxconns = 10000   #存储系统的最大连接数.
httplisten = 0.0.0.0:7500   #可通过http访问的服务端口
mgmtlisten = 0.0.0.0:7501   #mogilefs的管理端口
docroot = /var/mogdata   #该项决定了数据的在storage上存储的实际位置,建议使用的是一个单独挂载使用的磁盘

(2)创建进程需要的目录,并授权

mkdir /var/run/mogilefsd/

chown -R mogilefs.mogilefs /var/run/mogilefsd

(3)开启服务

/etc/init.d/mogilefsd start

有时候会显示启动失败;但实际则是启动成功了。可以

ss -nutlp|grep mogilefs 查询是否有mogilefsd 的监听ip和端口

5、在两台storage node 上,启动mogstored服务

(1)修改storage node 的配置文件

vim /etc/mogilefs/mogstored.conf

maxconns = 10000   #存储系统的最大连接数.
httplisten = 0.0.0.0:7500    #可通过http访问的服务端口
mgmtlisten = 0.0.0.0:7501   #mogilefs的管理端口
docroot = /data/mogdata    #该项决定了数据的在storage上存储的实际位置,建议使用的是一个单独挂载使用的磁盘

(2)创建storage 存储的目录

mkdir -p /data/mogdata

(3)授权

cd /data/

chown mogilefs.mogilefs mogdata/ -R

(4)开启服务,有时候开启服务显示失败,其实已经成功

/etc/init.d/mogstored start

6、修改客户端工具配置

vim /etc/mogilefs/mogilefs.conf 客户端工具配置文件

trackers=192.168.30.107:7001 #自己的tracker 的服务IP和端口

7、storage node 节点加入到MogileFS 的系统中

在tracker 的服务器上:

(1)加入"存储节点storage node1/2"到 trackers 中

mogadm --tracker=192.168.30.107:7001 host add node1 --ip=192.168.30.7 --port=7500 --status=alive
mogadm --tracker=192.168.30.107:7001 host add node2 --ip=192.168.30.2 --port=7500 --status=alive

(2)查询信息,检查主机是否加入到 MogileFS 的系统中

mogadm check

mogadm host list

(3)当然,操作错误也可以修改

mogadm host modify node1 --ip=192.168.30.7 --port=7500 --status=alive

8、创建设备

在两个storage node 服务器上:

(1)创建"设备"实验的目录并授权,格式: dev + ID

注意:所有系统中 ID 不能重复,也必须和配置文件中的路径一样

cd mogdata/

mkdir dev1

chown mogilefs.mogilefs dev1/ -R 加权限

设置成功,会在dev1下生成一个文件,是tracker 过来测试留下来的

(2)在另一台服务器上也一样

cd mogdata/

mkdir dev2

chown mogilefs.mogilefs dev2/ -R

9、两个设备加入 MogileFS 的存储系统中

(1)在tracker 上

mogadm --tracker=192.168.30.107:7001 device add node1 1

mogadm --tracker=192.168.30.107:7001 device add node1 1
mogadm --tracker=192.168.30.107:7001 device add node2 2

(2)查看设备信息

mogadm check 检测出来两个设备的信息了

mogadm device list 能查询设备的详细信息

(3)在数据库中也能查出设备

MariaDB [mogilefs]> select * from device;

MariaDB [mogilefs]> select * from host;

10、划分域、class

mogadm domain add img 创建一个img域

mogadm class add img along --mindevcount=3 在img域中创建一个along的class,可以存放3份

11、上传文件且测试

(1)上传一张图片

mogupload --domain=img --key=test --file=along.jpg 向img域中上传一张along.jpg的图片,key为test

mogfileinfo --domain=img --key=test 查询文件

(2)网页访问http://192.168.30.2:7500/dev2/0/000/000/0000000002.fid

(3)当然,也可以删除图片

mogdelete --domain=img --key=test

(4)在数据库也能查看到

MariaDB [mogilefs]> select * from file;

(5)在后端两个storage node 上也能查到图片,图片就是存放到storage node服务器上的

注意:本来,后端两个storage node 上应该都有存放的图片,能互相复制,是副本关系,但这一版本有BUG

我的只有在storage node2 上才有这张图片

12、修复bug,实现后端storage node 同步存储

分析:因为这个版本有bug,所以需降版本

(1)下载包

wget http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Sys-Syscall-0.23.tar.gz

也可以http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Sys-Syscall-0.23.tar.gz 去网站直

接下载

(2)上传,解压缩

rz,tar xvf Sys-Syscall-0.23.tar.gz -C /tmp

(3)编译安装

① 因为是perl 语言编写的,所以需要安装perl 编译安装的环境

yum -y install make gcc unzip perl-DBD-MySQL perl perl-CPAN perl-YAML perl-Time-HiRes

② 编译安装

cd /tmp/Sys-Syscall-0.23/

perl Makefile.PL 准备环境

make & make install

(4)重启服务

① 在tracker 服务器是,有时候开启服务显示失败,其实已经成功

/etc/init.d/mogilefsd stop

/etc/init.d/mogilefsd start

② 在storage node 服务器上,有时候开启服务显示失败,其实已经成功

/etc/init.d/mogstored stop

/etc/init.d/mogstored start

(5)测试

① 再上传一张图片

mogupload --domain=img --key=test1 --file=along.jpg

② 在两个storage node 服务器上,存储已经实现同步

实战二:mogilefs 和mysql主从 实现分布式存储

原理:在database 上实现mysql的主从;且为了提升性能,在每个节点上都配置tracker

1、环境准备


机器名称


IP配置


服务角色


备注


mogilefs-

mysql-master


192.168.30.107


主数据库


tracker、mysql


mogilefs-

mysql-slave


192.168.30.7


从数据库


tracker、mysql


mogilefs-

store1


192.168.30.2


文件存放


tracker、storage


mogilefs-

store2


192.168.30.3


文件存放


tracker、storage

2、在所有机器上下载安装mogilefs

(1)所依赖的包,centos 自带的

yum install perl-Net-Netmask perl-IO-String perl-Sys-Syslog perl-IO-AIO

(2)服务的rpm包,我已经放在我的网盘里了,需要的私聊 http://pan.baidu.com/s/1c2bGc84

MogileFS-Server-2.46-2.el6.noarch.rpm #核心服务

perl-Danga-Socket-1.61-1.el6.rf.noarch.rpm #socket

MogileFS-Server-mogilefsd-2.46-2.el6.noarch.rpm # tracker节点

perl-MogileFS-Client-1.14-1.el6.noarch.rpm #客户端

MogileFS-Server-mogstored-2.46-2.el6.noarch.rpm #Storage存储节点

MogileFS-Utils-2.19-1.el6.noarch.rpm #主要是MogileFS的一些管理工具,例如mogadm等。

(3)开始安装

cd mogileFS/

yum localinstall ./* -y

3、在两台mysql上实现主从

(1)在主mysql 上

① vim /etc/my.cnf 修改mysql主配置文件,对master进行配置,包括打开二进制日志,指定唯一的servr ID

server-id=1         #配置server-id,让主服务器有唯一ID号
log-bin=mysql-bin   #打开Mysql日志,日志格式为二进制
skip-name-resolve   #关闭名称解析,(非必须)

systemctl start mariadb 开启服务

创建并授权slave mysql 用的复制帐号

MariaDB [(none)]> grant replication slave,replication client on *.* to [email protected]‘192.168.30.7‘ identified by ‘along‘;

③ 查看主服务器状态

在Master的数据库执行show master status,查看主服务器二进制日志状态,位置号

(2)在从mysql 上

① 修改主配置文件

vim /etc/my.cnf 打开中继日志,指定唯一的servr ID,设置只读权限

server-id=2       #配置server-id,让从服务器有唯一ID号
relay_log = mysql-relay-bin    #打开Mysql日志,日志格式为二进制
read_only = 1    #设置只读权限
log_bin = mysql-bin         #开启从服务器二进制日志,(非必须)
log_slave_updates = 1  #使得更新的数据写进二进制日志中 

systemctl start mariadb 开启服务

启动从服务器复制线程,让slave连接master,并开始重做master二进制日志中的事件。

MariaDB [(none)]> change master to master_host=‘192.168.30.107‘,
    -> master_user=‘slave‘,
    -> master_password=‘along‘,
    -> master_log_file=‘mysql-bin.000001‘,
    -> master_log_pos=245;
MariaDB [(none)]>  start slave;   # 启动复制线程,就是打开I/O线程和SQL线程;实现拉主的bin-log到从的relay-log上;再从relay-log写到数据库内存里

③ 查看从服务器状态

可使用SHOW SLAVE STATUS\G查看从服务器状态,如下所示,也可用show processlist \G查看当前复制状态:

Slave_IO_Running: Yes #IO线程正常运行

Slave_SQL_Running: Yes #SQL线程正常运行

3、初始化数据库

(1)在主mysql上授权,因为主从同步,所以只需操作主

MariaDB [(none)]> GRANT ALL PRIVILEGES ON mogilefs.* TO ‘mogile‘@‘192.168.30.%‘ IDENTIFIED BY ‘mogile‘ WITH GRANT OPTION;
MariaDB [mogilefs]> flush privileges;    刷新下权限

(2)数据库初始化,在两个机器上都初始化

mogdbsetup --dbpass=mogile

4、在所有机器上,开启tracker服务

(1)修改管理tracker 的配置文件

vim /etc/mogilefs/mogilefsd.conf

① 配置数据库连接相关信息
db_dsn = DBI:mysql:mogilefs:host=192.168.30.107
db_user = mogile
db_pass = mogile
② 下边的只需修改监听地址和端口
listen = 192.168.30.107:7001 #mogilefs监听地址,监听在127.0.0.1表示只允许从本机登录进行管理;注意,4台机器写自己的IP地址
listen = 192.168.30.7:7001
listen = 192.168.30.2:7001
listen = 192.168.30.3:7001
注意:不是写4个,是在4个机器上分别写

(2)创建进程需要的目录,并授权

mkdir /var/run/mogilefsd/

chown -R mogilefs.mogilefs /var/run/mogilefsd

(3)开启服务,4台都开启

/etc/init.d/mogilefsd start

有时候会显示启动失败;但实际则是启动成功了。可以

ss -nutlp|grep mogilefs 查询是否有mogilefsd 的监听ip和端口

5、在两个mogilefs-store 上开启storage 服务

(1)修改storage node 的配置文件

vim /etc/mogilefs/mogstored.conf

maxconns = 10000   #存储系统的最大连接数.
httplisten = 0.0.0.0:7500    #可通过http访问的服务端口
mgmtlisten = 0.0.0.0:7501   #mogilefs的管理端口
docroot = /data/mogdata    #该项决定了数据的在storage上存储的实际位置,建议使用的是一个单独挂载使用的磁盘

(2)创建storage 存储的目录

mkdir -p /data/mogdata

(3)授权

cd /data/

chown mogilefs.mogilefs mogdata/ -R

(4)开启服务,有时候开启服务显示失败,其实已经成功

/etc/init.d/mogstored start

6、修改客户端工具配置

vim /etc/mogilefs/mogilefs.conf 客户端工具配置文件,4个机器写自己的tracker

trackers=192.168.30.107:7001   #自己的tracker 的服务IP和端口
trackers=192.168.30.7:7001
trackers=192.168.30.2:7001
trackers=192.168.30.3:7001
注意:是各自写各自的,不是都写在一个机器里

7、storage node 节点加入到MogileFS 的系统中

在tracker 的服务器上:只需在一个tracker 服务器上做就行了

(1)加入"存储节点storage node1/2"到 trackers 中

mogadm  host add node1 --ip=192.168.30.3 --port=7500 --status=alive
mogadm  host add node2 --ip=192.168.30.2 --port=7500 --status=alive

(2)查询信息,检查主机是否加入到 MogileFS 的系统中

mogadm check

mogadm host list

(3)当然,操作错误也可以修改

mogadm host modify node1 --ip=192.168.30.3 --port=7500 --status=alive

8、创建设备

在mogilefs-store1 服务器上:

(1)创建"设备"实验的目录并授权,格式: dev + ID

注意:所有系统中 ID 不能重复,也必须和配置文件中的路径一样

cd /data/mogdata/

mkdir dev1

chown mogilefs.mogilefs dev1/ -R 加权限

设置成功,会在dev1下生成一个文件,是tracker 过来测试留下来的

(2)在另一台服务器上也一样

cd mogdata/

mkdir dev2

chown mogilefs.mogilefs dev2/ -R

9、两个设备加入 MogileFS 的存储系统中

(1)在tracker 上

mogadm  device add node1 1
mogadm  device add node2 2

(2)查看设备信息

mogadm check 检测出来两个设备的信息了

mogadm device list 能查询设备的详细信息

(3)在数据库中也能查出设备

MariaDB [mogilefs]> select * from device;

MariaDB [mogilefs]> select * from host;

10划分域/class、11上传文件且测试、12修复bug  步骤都同上

实战三:FastDFS 实现分布式存储

架构图:

原理

(1)FastDFS核心组件

Tracker:调度器,负责维持集群的信息,例如各group及其内部的storage node,这些信息也是storage node报告所生成;每个storage node会周期性向tracker发心跳信息

storage server:以group为单位进行组织,任何一个storage server都应该属于某个group,一个group应该包含多个storage server;在同一个group内部,各storage server的数据互相冗余;

(2)FastDFS架构的特点

只有两个角色tracker server和storage server不需要存储文件索引信息

• 所有服务器都是对等的不存在Master-Slave关系

• 存储服务器采用分组方式同组内存储服务器上的文件完全相同(RAID 1)

不同组的storage server之间不会相互通信

• 由storage server主动向tracker server报告状态信息,tracker server之间通常不会相互通信

(3)FastDFS同步机制

① 采用binlog文件记录更新操作,根据binlog进行文件同步同一组内的storage server之间是对等的,文件上传、删除等操作可以在任意一台storage server上进行;

② 文件同步只在同组内的storage server之间进行,采用push方式,即源服务器同步给目标服务器;

③ 源头数据才需要同步,备份数据不需要再次同步,否则就构成环路了;

上述第二条规则有个例外,就是新增加一台storage server时,由已有的一台storage server将已有的所有数据(包括源头数据和备份数据)同步给该新增服务器。

(4)FastDFS运行机制

---> 上传文件

① client询问tracker上传到的storage;

② tracker返回一台可用的storage;

③ client直接和storage通信完成文件上传,storage返回文件ID

<--- 下载文件

① client询问tracker下载文件的storage,参数为文件ID(组名和文件名)

② tracker返回一台可用的storage;

③ client直接和storage通信完成文件下载

(5)FastDFS 与 mogileFS 的区别

1、环境准备


机器名称


IP配置


服务角色


备注


tracker-srv


192.168.30.107


调度器


tracker、不需mysql


storage srv1


192.168.30.7


文件存放

 

storage srv2


192.168.30.2


文件存放

 

2、下载安装

mkdir /fastdfs 创建一个存放fastdfs所需包的目录

所需要的包,我已经存放在我的网盘了,有需要的私聊

https://pan.baidu.com/share/init?surl=c2bGc84

cd /fastdfs

yum -y localinstall ./*

3、在tracke 的服务器上,开启tracke 服务

(1)修改配置文件

cd /etc/fdfs tracker的配置文件的模板已经准备好了,只需复制修改就好

cp tracker.conf.sample tracker.conf

vim /etc/fdfs/tracker.conf    必须修改的一项

base_path=/data/fastdfs/tracker     #base源路径

① 还可以修改一些自己需要的,如上传、下载方式

② 访问权限控制

(2)创建目录

mkdir /data/fastdfs/tracker -p

(3)启动tracker服务

/etc/init.d/fdfs_trackerd start

4、在后端两台storage server上,开启storage 快照

在storage server上 storage的配置文件的模板已经准备好了,只需复制修改就好

cd /etc/fdfs

cp storage.conf.sample storage.conf

(1)修改配置文件

vim storage.conf 必须修改3项

base_path=/data/fastdfs/storage   #base源路径
store_path0=/data/fastdfs/storage    #实际存储目录
tracker_server=192.168.30.107:22122    #指定tracker

(2)创建目录

mkdir /data/fastdfs/storage -p

(3)开启服务

/etc/init.d/fdfs_storaged start

(4)生成了存放文件的目录

5、设置客户端配置文件

(1)设置客户端配置文件

cd /etc/fdfs

cp client.conf.sample client.conf 复制模板

vim client.conf 修改2行

base_path=/data/fastdfs/tracker
tracker_server=192.168.30.107:22122

(2)查看存储节点状态

fdfs_monitor /etc/fdfs/client.conf

6、FastDFS的上传、下载

(1)fdfs_upload_file /etc/fdfs/client.conf xiaomi.zip 上传

(2)在后端两个storage server 上,两个是同步的,一样

① 二进制文件有记录

② 确实能找到

(3)文件查看

fdfs_file_info /etc/fdfs/client.conf group1/M00/00/00/wKgeAlodCEGAXOuMB3o1rOpTQ-0771.zip

分析:上传到了192.168.30.2 的机器上,然后push推到192.168.30.7上

(4)文件下载

fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgeAlodCEGAXOuMB3o1rOpTQ-0771.zip
md5sum xiaomi.zip wKgeAlodCEGAXOuMB3o1rOpTQ-0771.zip

分析:md5值是一样的,表明是同一个文件

(5)删除

fdfs_delect_file /etc/fdfs/client.conf group1/M00/00/00/wKgeAlodCEGAXOuMB3o1rOpTQ-0771.zip

(6)上传测试

fdfs_test /etc/fdfs/client.conf upload xiaomi.zip [FILE | BUFF | CALLBACK]

实验四:FastDFS实现nginx代理

在两个后端storage server 上实现的

1、安装nginx 插件,也存放到我的网盘里了,rz

yum -y localinstall nginx-*

2、在nginx上加载模块

vim /etc/nginx/nginx.conf

location /group1/M00 {
        root /data/fastdfs/storage/data;
        ngx_fastdfs_module;
}

3、修改fastdfs 模块的配置文件

vim /etc/fdfs/mod_fastdfs.conf

tracker_server=192.168.30.107:22122
url_have_group_name = true
store_path0=/data/fastdfs/storage

4、开启nginx 服务,测试

systemctl start nginx

网页测试 http://192.168.30.2/group1/M00/00/00/wKgeB1odET-AGOSlAAAbjMSvzS8917.jpg

前面的实战,后几天慢慢补上!!!大家见谅。

时间: 2024-08-30 06:22:24

项目实战9—企业级分布式存储应用与实战MogileFS、FastDFS的相关文章

项目实战7—Mysql实现企业级数据库主从复制架构实战

Mysql实现企业级数据库主从复制架构实战 环境背景:公司规模已经形成,用户数据已成为公司的核心命脉,一次老王一不小心把数据库文件删除,通过mysqldump备份策略恢复用了两个小时,在这两小时中,公司业务中断,损失100万,老王做出深刻反省,公司也因此对于数据库的性能和可靠性提出更高要求. 要求对数据库进行改造,使其承载力进行提升,故障修复时间减少,有没有能实现的方案呢? Mysql实现数据库主从复制实战架构及其原理 1.实验架构及其原理 数据库高可用架构分为 主从:一主一从,一主多从,一主从

Django实战之企业级博客

详情请交流  QQ  709639943 00.Python 从入门到精通 78节.2000多分钟.36小时的高质量.精品.1080P高清视频教程!包括标准库.socket网络编程.多线程.多进程和协程. 00.Django实战之用户认证系统 00.Django实战之企业级博客 00.深入浅出Netty源码剖析 00.NIO+Netty5各种RPC架构实战演练 00.JMeter 深入进阶性能测试体系 各领域企业实战 00.30天搞定大数据爬虫项目 00.零基础实战机器学学习 00.企业级实战

企业级业务系统开发实战

通过一个系列讲述一个真实企业的ERP系统开发全过程.其中包括需求分析.设计建模.开发.测试全生命周期过程,其中会详细讲方法论与技术实践.涉及到的方法包括敏捷软件开发.四色原型.领域驱动设计.业务架构.技术架构与具体的EF.WF.EasyUI等技术在项目中的使用. 领域驱动设计案例之领域层框架搭建 摘要: 根据前面对领域驱动设计概念以及一些最佳实践的理解,领域模型是系统最核心的部分,我们还是采用前面销售订单的例子,这个案例系统的核心构建就从领域层开始.领域层框架搭建主要完成两个任务:1.领域模型的

mogilefs-企业级分布式存储应用与实战

mogilefs-企业级分布式存储应用与实战 项目场景: 公司已经有了大量沉淀用户,为了让这些沉淀用户长期使用公司平台,公司决定增加用户粘性,逐步发展基于社交属性的多样化业务模式,决定开展用户讨论区.卖家秀.买家秀.用户试穿短视频等业务,因此,公司新的业务的业务特征将需要海量数据存储,要求基于开源技术,实现对公司海量存储业务的技术研究和实现. 项目分析: Web 2.0 时代的到来,使得单个计算机节点远远无法满足用户对海量数据和应用程序运行空间的需求.个人和企业都有安全而持久的存储信息的需求,备

Django高级实战 开发企业级问答网站

第1章 Django高级实战-开发企业级问答网站课程项目结合:需求分析/Django高级用法/算法/设计模式/TestCase测试/云计算服务.本章将具体介绍课程的学习内容和目标,描述问答网站的业务场景.用途.重要性.实用性.学习本课程需要具备的知识,项目使用的技术栈,重难点:让同学们对课程的技术范畴,广度和难度有心理准备.演示网站的所有功能,结果导向,一目了然.... 第2章 Django项目的一些最佳实践最佳实践目的是使生产或管理实践的结果达到最优,并减少出错的可能性.本章讲的一些实践方法在

Openvpn技术企业级中级运维实战视频教程

课程目录: openvpn技术企业级中级运维实战(上) 1.01-课前思想必看2.02-VPN概述介绍与图解3.03-VPN的作用介绍与图解4.04-VPN的企业应用分类介绍与图解15.05-VPN的企业应用分类介绍与图解26.06-常见隧道协议介绍-PPTP7.07-常见隧道协议介绍-L2TP8.08-常见隧道协议介绍-IPSEC-SSLVPN9.09-实现vpn功能常见开源产品及实际应用特点介绍10.10-根据企业生产场景需求选择vpn产品及方案建议11.11-openvpn开源vpn产品介

企业级监控软件nagios实战[老男孩教育精品]-限时免费

企业级监控软件nagios实战[老男孩linux精品课程]-限时免费注意:限时全免费,截止7月25日.http://edu.51cto.com/course/course_id-1740.html兼容Centos5.8和6.4,同时也适合red hat linux系列! 北京老男孩培训,全国最负责.最高端.最专业的linux运维实战教育机构!打造中国IT实效教育第一品牌! 交流群 246054962 208160987 145178854(标明51CTO) ├─1老男孩linux培训VIP视频-

Mysql实现企业级数据库主从复制架构实战

Mysql实现企业级数据库主从复制架构实战

Haproxy企业级负载均衡应用实战讲解

课程介绍:HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上. 课程内容:1.集群概述.avi2.集群实现方法及调度算法oldboy-1.avi3-集群文件存储及总结