数据库服务器

大型网站采用的具有稳定性的系统构架

≡放荡痞女 提交于 2020-03-15 04:47:07
千万级的注册用户,千万级的帖子,nTB级的附件,还有巨大的日访问量,大型网站采用什么系统架构保证性能和稳定性? 首先讨论一下大型网站需要注意和考虑的问题。 数据库 海量数据处理:负载量不大的情况下select、delete和update是响应很迅速的,最多加几个索引就可以搞定,但千万级的注册用户和一个设计不好的多对多关系将带来非常严重的性能问题。另外在高UPDATE的情况下,更新一个聚焦索引的时间基本上是不可忍受的。索引和更新是一对天生的冤家。 高并发死锁:平时我们感觉不到,但数据库死锁在高并发的情况下的出现的概率是非常高的。 文件存储的问题:大型网站有海量图片数据、视频数据、文件数据等等,他们如何存储并被有效索引?高并发的情况下IO的瓶颈问题会迅速显现。也许用RAID和专用存贮 服务器 能解决眼下的问题,但是还有个问题就是各地的访问问题,也许我们的服务器在北京,可能在云南或者新疆的访问速度如何解决?如果做分布式,那么我们的文件索引以及架构该如何规划。 接下来讨论大型网站的底层系统架构,来有效的解决上述问题。 毋庸置疑,对于规模稍大的网站来说,其背后必然是一个服务器集群来提供网站服务,例如,2004年eBay的服务器有2400台,估计现在更多。当然,数据库也必然要和应用服务分开,有单独的数据库服务器集群。对于像淘宝网这样规模的网站而言,就是应用也分成很多组。 下面

redis高可用(主从复制)

痞子三分冷 提交于 2020-03-13 12:08:18
熟练掌握redis需要从 reids如何操作5种基本数据类型,redis如何集群,reids主从复制,redis哨兵机制redis持久化 reids主从复制 的作用可以:实现数据备份,读写分离,集群,高可用,宕机容错机制 今天记录一下redis如何完成主从复制 主从复制的概念: 1、redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。 2、通过redis的复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力。主数据库主要进行写操作,而从数据库负责读操作。 注意:redis只支持一个主服务器,nginx支持多主多备 主从复制的执行过程实时性: 1 当一个从数据启动后,会向主数据库发送sync命令 2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来 3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。 4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。 具体实现 主从复制的步骤: 1.克隆两个虚拟机作为从机 修改每个虚拟机的mac地址. 2

CentOS下Redis服务器安装配置

前提是你 提交于 2020-03-11 21:47:52
说明: 操作系统:CentOS 1、安装编译工具 yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl 2、安装tcl组件包(安装Redis需要tcl支持) 下载:http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz 上传tcl8.6.1-src.tar.gz到/usr/local/src目录 cd /usr/local/src #进入软件包存放目录 tar zxvf tcl8.6.1-src.tar.gz #解压 cd tcl8.6.1 #进入安装目录 cd unix ./configure --prefix=/usr --without-tzdata --mandir=/usr/share/man $([ $(uname -m) = x86_64 ] && echo --enable-64bit) #配置 make #编译 sed -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" -i tclConfig.sh make install

两台服务器数据库同步

匆匆过客 提交于 2020-03-10 12:41:55
官网下载: https://www.syncnavigator.cn SQL Server 自动同步到 MySQL 本文章将向您介绍如何将数据从 SQL Server 自动或定时同步到 MySQL 数据库(或从 MySQL 自动或同步到 SQL Server 数据库)。只需通过几个步骤即可轻松实现。 1. 在 "同步管理" 面板中点击 "新建" 按钮创建同步项目。 2. 首先切换到 "来源数据库" 选项卡。填写同步的来源数据库信息。 数据库类型选择 SQL Server 2000/2005/2008/2012/2014 3. 切换到 "目标数据库" 选项卡。以相同的方式填写同步的目标数据库。 数据库类型选择 Mysql 4.x 5.x 6.x 当您从 MySQL 同步到 SQL Server 时,每张表至少需要一个主键(从 SQL Server 到 MySQL 不需要) 4. 切换到 "同步内容设置" 选项卡。选择需要同步的数据库表。 5. 切换到 "计划调度设置" 选项卡,新建一个运行计划。 如果需要自动同步(如24小时不间断)则选择自动。 如果需要定时同步,则点击对应的选项。 6. 点击 "确定" 按钮保存当前设置。 7. 设置成功。当系统时间符合您的条件时软件会自动开始同步。 当您使用软件自动创建表结构,从MySQL 同步到 SQL Server 可能出现的问题: 1.

浓缩精华的架构演进过程,经验总结,值得收藏!

◇◆丶佛笑我妖孽 提交于 2020-03-09 12:27:53
架构设计的演进过程 业务驱动技术的发展是亘古不变的道理。最开始的时候,业务量少,业务复杂度低,采取的技术也相对简单,基本满足用户对功能的需求。随着IT信息化的普及,更多的交易放到了网络上,信息量增加和访问次数频繁就是要解决的问题了。因此,逐渐加入了缓存、集群等技术手段。同时对业务的扩展性和伸缩性的要求也越来越高。高并发、高可用、可伸缩、可扩展、够安全的软件架构一直是架构设计追求的目标。今天我们来看一下架构设计经历了哪些阶段,每个阶段都解决了哪些问题,又引出了哪些新问题。主要是引起大家的思考,在不同的业务发展阶段采取合适技术手段,用变化拥抱变化是IT人追求的目标。 应用与数据一体模式 最早的业务应用以网站、OA等为主,访问的人数有限,单台服务器就能够应付。通常,将应用程序和数据库部署到一台服务器上面,如图1-1所示。在这一阶段,我们利用LAMP(Linux Apache MySQL PHP)技术就可以迅速搞定,并且这些工具都是开源的。很长一段时间内,有各种针对这种应用模式的开源代码可以使用。这种模式基本上没有高并发的要求,可用性也很差。有的服务器采用托管模式,上面就安装了不同的业务应用,一旦服务器出现问题,所有的应用就罢工了。不过其开发和部署成本相对较低,适合刚刚起步的应用服务。图1 就描述了单个应用和数据库运行在单台服务器的模式,我们称这种模式为应用与数据一体模式。 图 1

优化杭州某著名电子商务网站高并发千万级大型数据库经验之- 磁盘I/O性能

烂漫一生 提交于 2020-03-09 10:29:42
好久没写博客了,一方面是日常工作繁忙,另外一方面是想更多的时间陪陪家里人,享受春天的美好时光,同时还在写一本 《程序员,你伤不起》 的一本书要由人民邮电出版社出版;公司有2台超级强大的服务器,其中1台服务器是用来备份容灾用的,防止老的服务器发生硬件故障时整个网站系统崩溃,若那样会给公司带来惨重的经济损失;而且这样超级强大的服务器不是今天订货明天就能送货上门的。 大学刚毕业那会喜欢研究数据库技术,那时候觉得数据处理很重要,而且数据库优化更重要,看了很多数据库性能优化方面的资料,平时设计软件系统时也会多关心一下数据库的性能问题。但是一直没遇到专门做数据库优化的DBA工作,就渐渐的放弃了数据库专业发展道理。 不是每个公司都能有专业的数据库DBA工作岗位,也未必请得起专业的高手DBA,就是请了人家也未必来对吧。因为没那样的好环境人的技能是容易走下坡路的当然也就更容易贬值而不是升值。 其实让别人放心来弄公司的核心数据库,放心让你操作公司的核心主机,都需要有一个信任的过程;一方面是需要信任你的为人,另外一方面也能信任你的技能高超;因为有任何错误的操作可能会导致天大的错误,服务器停止运转1个小时的直接经济损失就是1-2万元。而且还要在那么多客户面前丢人现眼。间接的损失更是不可估量的会影响到网站的形象。 判断数据库的瓶颈需要一个过程,需要知道数据库的瓶颈是出在哪里? CPU? 内存? 网络? 磁盘

Mac XMPP Openfire 服务器配置

我们两清 提交于 2020-03-08 08:10:00
本文已停止更新,点击 此链接 查看本文最新内容 !!! 前言 Openfire 是免费的、开源的、基于可拓展通讯和表示协议(XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 安装和使用都非常简单,并利用 Web 进行管理。单台服务器可支持上万并发用户。可以使用它轻易的构建高效率的即时通信服务器。由于是采用开放的XMPP协议,您可以使用各种支持XMPP协议的IM客户端软件登陆服务. 1、配置准备工作 1)配置服务器准备工作 下载相关软件 jdk-8u91-macosx-x64.dmg openfire_4_1_1.dmg spark_2_8_3.dmg Openfire 官网 MySQL 官网 JDK 官网 Openfire 服务器配置软件下载地址 Openfire v4.1.2 for Mac ,密码:p5gv。 Spark v2.8.3 for Mac ,密码: fvw6。 2)配置服务器注意事项 提前下载好相关软件,且安装目录最好安装在全英文路径下。如果路径有中文名,那么可能会出现一些莫名其妙的问题。 在安装配置 Openfire 或其他 xmpp 服务器前,需要先安装 MySQL 数据库。 MySQL 安装具体讲解见 MySQL 数据库配置 。 3)示例配置环境 macOS 10.11.6 macOS 10.13.3 2、下载安装 Openfire

linux 加入到WINDOWS ad域

帅比萌擦擦* 提交于 2020-03-06 15:40:11
以下是从网上搜集到的内容 概念: 1、 DC AND AD   DC是Domain Controller的缩写,即域控制器,AD是active directory的缩写,即活动目录.   Domain Controller是一台计算机,实现用户,计算机,目录的统一管理.   AD(活动目录)是一种存储协议,基于LDAP.   两者完全是两种概念,DC也可以不基于AD实现,比如基于数据库或文件,当然目前微软还没有这样的实现. 在对等网模式下,任何一台电脑只要接入网络,其他机器就都可以访问共享资源,如共享上网等。尽管 对等网络 上的共享文件可以加访问密码,但是非常容易被破解。在由Windows 9x构成的对等网中,数据的传输是非常不安全的。   不过在“域”模式下,至少有一台服务器负责每一台联入网络的电脑和用户的验证工作,相当于一个单位的门卫一样,称为“域控制器(Domain Controller,简写为DC)”。 域控制器中包含了由这个域的账户、密码、属于这个域的计算机等信息构成的数据库。当电脑联入网络时,域控制器首先要鉴别这台电脑是否是属于这个域的,用户使用的登录账号是否存在、密码是否正确。如果以上信息有一样不正确,那么域控制器就会拒绝这个用户从这台电脑登录。不能登录,用户就不能访问服务器上有权限保护的资源,他只能以对等网用户的方式访问Windows共享出来的资源

详解Oracle数据库服务器修改操作系统时间的注意事项

こ雲淡風輕ζ 提交于 2020-03-06 10:31:50
Oracle 数据库服务器修改操作系统时间的注意事项: 对单机或者ha 1.对数据库本身而言,其实是没有影响的。因为scn不依赖于os时间 2.对app(应用程序)而言,若是app中使用了sysdate之类的,那确实是有影响的。 基于这个情况,我们一般推荐:改os时间 不往之前的时间去改,而是往今后的时间去改。 推荐:安装oracle10g时候注意事项&修改oracle数据库字符集编码 [安装oracle10g时候注意事项:1. 关闭网络连接2.……修改oracle数据库字符集编码:先用system和密码登陆SQLPLUS,然后:1.用sys登录到oracle中 connect sys/密码 as sy 对rac 1.对数据库本身而言,有影响,因为CRS需要节点的os时间保持同步,否则可能会引起节点驱逐。 2.对app(应用程序)而言,若是app中使用了sysdate之类的,那确实是有影响的。 基于这个情况,我们一般推荐:改os时间 不往之前的时间去改,而是往今后的时间去改。 来源: https://www.cnblogs.com/dahaoran/p/12425088.html

常用的系统存储过程

一世执手 提交于 2020-03-06 08:13:15
xp_cmdshell --*执行DOS各种命令,结果以文本行返回。 xp_fixeddrives --*查询各磁盘/分区可用空间 xp_loginconfig --*报告SQL Server 实例在Windows 上运行时的登录安全配置 xp_logininfo --*返回有关Windows 认证登录的信息。 xp_msver --*返回有关Microsoft SQL Server 的版本信息 xp_enumgroups --返回Windows用户组列表或在指定域中的全局组列表。 xp_sendmail --将电子邮件发送给指定的收件人(后续版本将删除该功能)。 xp_readmail --阅读SQL Mail收件箱中的邮件(后续版本将删除该功能)。 xp_deletemail --删除Microsoft SQL Server 收件箱中的邮件(后续版本将删除该功能)。 xp_startmail --通过该过程启动SQL Mail将返回两条消息,主要用于故障排除。 xp_stopmail --停止SQL 邮件客户端会话(后续版本将删除该功能)。 xp_grantlogin --授予Windows 组或用户对SQL Server 的访问权限(后续版本将删除该功能)。 xp_revokelogin --撤消Windows 组或用户对SQL Server 的访问权限(后续版本将删除该功能