数据库应用系统

架构整体认知

≡放荡痞女 提交于 2019-11-29 00:04:15
1、引言 本文以设计淘宝网的后台架构为例,介绍从一百个并发到千万级并发情况下服务端的架构的14次演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知。文章最后汇总了一些架构设计的原则。 2、程序员成长线 这是一条成长线的表意图,有两个部分:图上左侧的路径,是匹配不同成长阶段,对应不同职业角色;右侧是一条由不同成长阶段组成的成长线,包括如下: 征途:启程之初 修炼:程序之术 修行:由术入道 徘徊:道中彷徨 寻路:路在何方 蜕变:破茧成蝶 3、相关文章 《 新手入门:零基础理解大型分布式架构的演进历史、技术原理、最佳实践 》 《 腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面面 》 《 一篇读懂分布式架构下的负载均衡技术:分类、原理、算法、常见方案等 》 《 快速理解高性能HTTP服务端的负载均衡技术原理 》 《 知乎技术分享:从单机到2000万QPS并发的Redis高性能缓存实践之路 》 《 达达O2O后台架构演进实践:从0到4000高并发请求背后的努力 》 《 小米技术分享:解密小米抢购系统千万高并发架构的演进和实践 》 《 通俗易懂:如何设计能支撑百万并发的数据库架构? 》 4、基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍。 1)什么是分布式? 系统中的多个模块在不同服务器上部署

【收藏】数据库大型应用解决方案总结

无人久伴 提交于 2019-11-27 11:21:00
随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。 一、负载均衡技术 负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络进行连接,由路由器衔接在一起,各节点相互协作、共同负载、均衡压力,对客户端来说,整个群集可以视为一台具有超高性能的独立服务器。 1、实现原理 实现数据库的负载均衡技术,首先要有一个可以控制连接数据库的控制端。在这里,它截断了数据库和程序的直接连接,由所有的程序来访问这个中间层,然后再由中间层来访问数据库。这样,我们就可以具体控制访问某个数据库了,然后还可以根据数据库的当前负载采取有效的均衡策略,来调整每次连接到哪个数据库。 2、实现多据库数据同步 对于负载均衡,最重要的就是所有服务器的数据都是实时同步的。这是一个集群所必需的,因为,如果数不据实时、不同步,那么用户从一台服务器读出的数据,就有别于从另一台服务器读出的数据,这是不能允许的。所以必须实现数据库的数据同步。这样,在查询的时候就可以有多个资源,实现均衡。比较常用的方法是Moebius for SQL Server集群,Moebius for SQL Server集群采用将核心程序驻留在每个机器的数据库中的办法,这个核心程序称为Moebius

php面试题之五——PHP综合应用(高级部分)

▼魔方 西西 提交于 2019-11-27 05:37:53
文章转载自: http://www.pythonheidong.com/blog/article/2117/ 五、PHP综合应用 1.写出下列服务的用途和默认端口(新浪网技术部) ftp、ssh、http、telnet、https ftp:File Transfer Protocol,文件传输协议,是应用层的协议,它基于传输层,为用户服务,它们负责进行文件的传输,其默认端口是21。 ssh:Secure Shell,安全外壳协议,建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,其默端口是22。 http:hypertext transport protocol,超文本传送协议,是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议,其默认端口是80。 telnet:Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力,其默认端口是23。 https:Hypertext Transfer Protocol over Secure Socket Layer,是以安全为目标的HTTP通道,用于安全的HTTP数据传输,它的主要作用可以分为两种: 一种是建立一个信息安全通道,来保证数据传输的安全;

服务器架构演进

こ雲淡風輕ζ 提交于 2019-11-26 09:00:38
此博客复制 方志朋 的博客,用于记录服务器架构演进 1.概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 2.基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍。 1)什么是分布式? 系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat分别部署在不同服务器上。 2)什么是高可用? 系统中部分节点失效时,其他节点能够接替它继续提供服务,则可认为系统具有高可用性。 3)什么是集群? 一个特定领域的软件部署在多台服务器上并作为一个整体提供一类服务,这个整体称为集群。 如Zookeeper中的Master和Slave分别部署在多台服务器上,共同组成一个整体提供集中配置服务。 在常见的集群中,客户端往往能够连接任意一个节点获得服务,并且当集群中一个节点掉线时,其他节点往往能够自动的接替它继续提供服务,这时候说明集群具有高可用性。 4)什么是负载均衡? 请求发送到系统时,通过某些方式把请求均匀分发到多个节点上,使系统中每个节点能够均匀的处理请求负载,则可认为系统是负载均衡的。 5)什么是正向代理和反向代理?