摘要: 2015-12-22 10:20阅读:2,563 分布式大数据高并发的web开发框架 作者:一灯 一、引言 通常我们认为静态网页html的网站速度是最快的,但是自从有了动态网页之后,很多交互数据都从数据库查询而来,数据也是经常变化的,除了一些新闻资讯类的网站,使用html静态化来提高访问速度是不太现 阅读全文
posted @ 2018-08-15 20:16 micwin 阅读(989) 评论(0) 推荐(0) 编辑
摘要: 设计消息中间件时我关心什么 设计消息中间件时我关心什么?(解密电商数据一致性与完整性实现,含PPT) 原创 2016-07-04 余昭辉 高可用架构 导读:应对高可用及极端峰值,每个技术团队都有自己的优秀经验,但是这些方法远没有得到体系化的讨论。高可用架构在 6 月 25 日举办了『高压下的架构演进 阅读全文
posted @ 2018-08-15 20:14 micwin 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 原创 2016-07-22 杜亦舒 性能与架构 mysqlslap 是 Mysql 自带的压力测试工具,可以模拟出大量客户端同时操作数据库的情况,通过结果信息来了解数据库的性能状况 mysqlslap 的一个主要工作场景就是对数据库服务器做基准测试 例如我们拿到了一台服务器,准备做为数据库服务器,那 阅读全文
posted @ 2018-08-15 20:09 micwin 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 分布式消息队列 Kafka 分布式消息队列 Kafka 原创 2016-02-25 杜亦舒 性能与架构 Kafka是一个高吞吐量的、分布式的消息系统,由Linkedin开发,开发语言为scala 具有高吞吐、可扩展、分布式等特点 适用场景 活动数据统计 活动数据包括页面访问量(Page View)、 阅读全文
posted @ 2018-08-15 19:47 micwin 阅读(204) 评论(0) 推荐(0) 编辑
摘要: ZooKeeper是如何保证数据一致性的? ZooKeeper是如何保证数据一致性的? 原创 2016-02-22 杜亦舒 性能与架构 ZooKeeper是个集群,内部有多个server,每个server都可以连接多个client,每个client都可以修改server中的数据 ZooKeeper可 阅读全文
posted @ 2018-08-15 19:36 micwin 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 如何提高Mysql主从复制的效率? 如何提高Mysql主从复制的效率? 原创 2016-02-21 杜亦舒 性能与架构 MySQL的主从复制,实际上就是Master记录自己的执行日志binlog,然后发送给Slave,Slave解析日志并执行,来实现数据复制 对于复制效率,binlog的大小是非常重 阅读全文
posted @ 2018-08-15 19:35 micwin 阅读(454) 评论(0) 推荐(0) 编辑
摘要: Nginx/ZooKeeper 负载均衡的差异 Nginx/ZooKeeper 负载均衡的差异 原创 2016-02-20 杜亦舒 性能与架构 Nginx是著名的反向代理服务器,也被广泛的作为负载均衡服务器 ZooKeeper是分布式协调服务框架,有时也被用来做负载均衡 那么他们的区别是什么?如何选 阅读全文
posted @ 2018-08-15 19:34 micwin 阅读(1181) 评论(0) 推荐(0) 编辑
摘要: 分布式协调服务ZooKeeper工作原理 分布式协调服务ZooKeeper工作原理 原创 2016-02-19 杜亦舒 性能与架构 大数据处理框架Hadoop、Redis分布式服务Codis、淘宝的分布式消息中间件MetaMQ …… 他们都使用ZooKeeper做为基础部件,可以看出ZooKeepe 阅读全文
posted @ 2018-08-15 19:32 micwin 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 分布式队列简单理解就是: 帮助我们实现跨进程、跨主机、跨网络的数据共享和数据传递 zookeeper是一个简单可靠的分布式队列实现方式 Zookeeper可以处理两种类型的队列: (1)同步队列 当一个队列的成员都聚齐时,这个队列才可用,否则一直等待所有成员到达 例如一个班去旅游,看是否所有人都到齐 阅读全文
posted @ 2018-08-15 19:31 micwin 阅读(2761) 评论(0) 推荐(0) 编辑
摘要: 原创 2016-02-06 杜亦舒 性能与架构 单线程的问题 javascript是单线程执行的,在处理运算过程中,浏览器不能执行其它javascript脚本,UI渲染线程也会被挂起,从而导致浏览器进入僵死状态 例如执行经典的 Fibonacci(斐波拉契) 计算,这个递归运算比较耗时,我们就以此为 阅读全文
posted @ 2018-08-15 19:30 micwin 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 原创 2016-02-05 杜亦舒 性能与架构 QPS(Query per second) 每秒查询量 TPS(Transaction per second)每秒事务量 这是Mysql的两个重要性能指标,需要经常查看,和Mysql基准测试的结果对比,如果值过高,就要尽快处理了 计算方法 01 QPS 阅读全文
posted @ 2018-08-15 19:29 micwin 阅读(1107) 评论(0) 推荐(0) 编辑
摘要: MapReduce 是一个大数据集合的并行运算模型,由google提出,现在流行的hadoop中也使用了MapReduce作为计算模型 MapReduce 通俗解释 图书馆要清点图书数量,有10个书架,管理员为了加快统计速度,找来了10个同学,每个同学负责统计一个书架的图书数量 张同学 统计 书架1 阅读全文
posted @ 2018-08-15 19:27 micwin 阅读(208) 评论(0) 推荐(0) 编辑
摘要: HDFS(Hadoop Distribute File System)是一个分布式文件系统 文件系统是操作系统提供的磁盘空间管理服务,只需要我们指定把文件放到哪儿,从哪个路径读取文件句可以了,不用关心文件在磁盘上是如何存放的 当文件所需空间大于本机磁盘空间时,如何处理呢? 一是加磁盘,但加到一定程度 阅读全文
posted @ 2018-08-12 01:03 micwin 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 原创 2015-12-08 杜亦舒 性能与架构 这篇文章是对又拍网公布的数据库案例的分析总结 又拍网是一个大型照片分享社区,数据库架构也是从简单到复杂发展起来的 数据库进化过程 (1)一主一从 最初是由一台主库和一台从库组成,当时从库只用作备份和容灾,当主库出现故障时,从库就手动变成主库 随着压力的 阅读全文
posted @ 2018-08-12 00:53 micwin 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 前面配置负载均衡的示例中,使用了一个简单的配置文件 global daemon maxconn 256 defaults mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms frontend h 阅读全文
posted @ 2018-08-12 00:51 micwin 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 准备条件 1. 安装好HAProxy 2. 启动两个web应用服务器,这里启动了两个nginx nginx1 端口 8080 nginx2 端口 8081 都有一个页面 test.html,显示的内容不同,nginx1 里的test.html显示 1,nginx2 里的test.html显示 2 目 阅读全文
posted @ 2018-08-12 00:50 micwin 阅读(552) 评论(0) 推荐(0) 编辑
摘要: HAProxy是一个负载均衡软件,开源、高性能,可应用于TCP(第四层)和HTTP(第七层) 借助HAProxy可以快速、可靠地提供基于TCP和HTTP应用的负载均衡解决方案。 优点 (1)可靠性和稳定性非常好,可以与硬件级的F5负载均衡设备相媲美 (2)性能及其强大,最高可以同时维护40000~5 阅读全文
posted @ 2018-08-12 00:49 micwin 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 2015-06-09 性能与架构 redis-benchmark 是redis自带的性能测试工具,可以用来测试本地或远程redis的性能 基本测试 redis-benchmark -n 100000 -c 100 这个命令是最简单的测试命令,测试的也是最全面,会把redis中各个数据结构的操作都测试 阅读全文
posted @ 2018-08-12 00:08 micwin 阅读(1284) 评论(0) 推荐(0) 编辑
摘要: Amoeba是一个开源项目,致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQL路由器功能,具有负载均衡、高可用性、SQL过滤、读写分离等功能,通过Amoeba可以实现数据源的高可用、负载均衡、数据切片等功能 Amoeba解决了什么问题? 1)降低数据切分带来的复杂 阅读全文
posted @ 2018-08-12 00:05 micwin 阅读(231) 评论(0) 推荐(0) 编辑
摘要: ab是什么 ab是Apache附带的一个压力测试工具,它非常容易使用 ab不像LoadRnner、Jmeter等那么专业,但它足够轻便,只需一条命令,就可以了解到web服务器处理请求的一些基本信息 ab能做什么 可以使用ab来模拟N个用户发送N个请求,结果数据可以告诉我们: 处理这些请求需要多少时间 阅读全文
posted @ 2018-08-11 23:49 micwin 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 要想优化一条Query,就须要清楚这条Query的性能瓶颈到底在哪里,是消耗的CPU计算太多,还是需要的IO操作太多?要想能够清楚地了解这些信息,可以通过Query Profiler功能得到 用法 (1)通过执行“set profiling”命令,可以开启关闭QueryProfiler功能 mysq 阅读全文
posted @ 2018-08-11 23:48 micwin 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 原创 2016-08-09 杜亦舒 性能与架构 一主一从 是最基础的复制结构,用来分担之前单台数据库服务器的压力,可以进行读写分离 一主多从 一台 Slave 承受不住读请求压力时,可以添加多台,进行负载均衡,分散读压力 还可以对多台 Slave 进行分工,服务于不同的系统,例如一部分 Slave 阅读全文
posted @ 2018-08-11 23:45 micwin 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 2015-09-14 分布式系统架构知识 Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。InfoQ一直在紧密关注Kaf 阅读全文
posted @ 2018-08-11 23:42 micwin 阅读(105) 评论(0) 推荐(0) 编辑
摘要: CDN是什么? 谈到CDN的作用,可以用8年买火车票的经历来形象比喻: 8年前,还没有火车票代售点一说,12306.cn更是无从说起。那时候火车票还只能在火车站的售票大厅购买,而我所住的小县城并不通火车,火车票都要去市里的火车站购买,而从县城到市里,来回就是4个小时车程,简直就是浪费生命。后来就好了 阅读全文
posted @ 2018-08-11 23:36 micwin 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 一、秒杀业务为什么难做 1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息); 2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据; 3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。 例如:小米手机每周二的秒杀,可能手机只有1 阅读全文
posted @ 2018-08-11 23:34 micwin 阅读(216) 评论(0) 推荐(0) 编辑
摘要: CDN的全称是Content Delivery Network,即内容分发网络 CDN的目的就是提高用户访问网站的响应速度 提速的基本思路 例如你的网站服务器是在北京,这时有一个广州的用户来访问你的网站 当你的网站没有使用CDN时,用户是直接通过网络读取你的服务器,这个过程就涉及到了一些网络问题,例 阅读全文
posted @ 2018-08-11 23:32 micwin 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 1. HTTP重定向 当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url,然后浏览器再继续请求这个新url,实际上就是页面重定向。通过重定向,来达到“负载均衡”的目标 这个方式非常容易实现,并且可以自定义各种策略,但是,它在大规模访问量下,性能不佳, 阅读全文
posted @ 2018-08-11 23:30 micwin 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 随着系统架构的逐渐演化,服务器的数量和结构会越来越复杂,例如web服务器集群的搭建,提高了系统的性能,同时也提高了系统维护的复杂度,我们需要对集群中各台服务器进行监控,来保证为用户提供服务的是正常运行的服务器,整体系统的可用性就至关重要 Keepalived提供了很好的高可用性保障服务,它可以检查服 阅读全文
posted @ 2018-08-11 23:26 micwin 阅读(205) 评论(0) 推荐(0) 编辑
摘要: session共享方案解决了集群中各服务器session不再独立的问题,但有些场景也不适合用session共享来处理 例如: (1)密切相关的多次交互 希望由同一台服务器处理 电子商务系统中,一个客户与服务器经常会经过好几次的交互过程才能完成一笔交易,由于这几次交互过程是密切相关的,完成某一个交互步 阅读全文
posted @ 2018-08-11 23:23 micwin 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 当网站业务规模和访问量的逐步增大,原本由单台服务器、单个域名组成的网站架构可能已经无法满足发展需要 此时会购买更多的服务器,并且以频道化的方式启用多个二级子域名,然后根据业务功能将网站分别部署在独立的服务器上,或者通过负载均衡技术让多个频道共享一组服务器 如果我们把网站程序分别部署到多台服务器上,而 阅读全文
posted @ 2018-08-11 23:16 micwin 阅读(1617) 评论(0) 推荐(0) 编辑
摘要: Keepalived是一款优秀的实现高可用的软件,它运行在LVS之上,它的主要功能是实现真实机的故障隔离及负载均衡器间的失败切换 Keepalived专门用来监控集群系统中各个服务节点的状态,它根据TCP/IP参考模型的第三、第四和第五层交换机制检测每个服务节点的状态 如果有一台Web服务器死机,或 阅读全文
posted @ 2018-08-11 23:13 micwin 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 2015-03-26 分布式系统架构知识 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的 阅读全文
posted @ 2018-08-11 22:48 micwin 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 2015-04-01 分布式系统架构知识 目录: 1、大型网站架构的目标与挑战 2、网站架构演变及其技术脉络 3、架构设计理论与原则 何为“大型”网站? 没有统一的判断标准,流量大小是一个重要指标(日均流量至少IP>1,000,000才算大型网站) 一、大型网站架构的目标与挑战 每个目标背后面临着技 阅读全文
posted @ 2018-08-11 22:46 micwin 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 2015-06-20 分布式系统架构知识 移动互联网、云计算和大数据的成熟和发展,让更多的好想法得以在很短的时间内实现为产品。此时,如果用户需求抓得准,用户数量将很可能获得爆发式增长,而不需要像以往一样需要精心运营几年的时间。然而用户数量的快速增长(尤其是短时间内的爆发式增长),通常会让应用开发者有 阅读全文
posted @ 2018-08-11 22:44 micwin 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 2015-07-07 分布式系统架构知识 前几天网友来信说帮忙实现这样一个架构:只有两台机器,需要实现其中一台死机之后另一台能接管这台机器的服务,并且在两台机器正常服务时,两台机器都能用上。于是设计了如下的架构。 架构简介 此架构主要是由keepalived实现双机高可用,维护了一个外网VIP,一个 阅读全文
posted @ 2018-08-11 22:42 micwin 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 2015-08-02 分布式系统架构知识 简介 MySQL集群是一种在无共享架构(SNA,Share Nothing Architecture)系统里应用内存数据库集群的技术。这种无共享的架构可以使得系统使用低廉的硬件获取高的可扩展性。 MySQL集群是一种分布式设计,目标是要达到没有任何单点故障点 阅读全文
posted @ 2018-08-11 22:40 micwin 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 原创 2016-04-19 高可用小编 高可用架构 有人的地方,就有江湖 有江湖的地方,就有纷争 问题的起源 在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性? 具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要么同时成功;要么同时失败。A、 阅读全文
posted @ 2018-08-11 22:26 micwin 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 什么是粘包、拆包? 对于什么是粘包、拆包问题,我想先举两个简单的应用场景: 对于第一种情况,服务端的处理流程可以是这样的:当客户端与服务端的连接建立成功之后,服务端不断读取客户端发送过来的数据,当客户端与服务端连接断开之后,服务端知道已经读完了一条消息,然后进行解码和后续处理...。对于第二种情况, 阅读全文
posted @ 2018-08-11 22:03 micwin 阅读(4659) 评论(0) 推荐(0) 编辑
摘要: 2016-04-07 Dong 架构说 1. 背景介绍 许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征: (1) 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦; (2) 支持近实时的在线分析 阅读全文
posted @ 2018-08-11 22:01 micwin 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 【1】在终端输入top命令,进入top视图 第一行: 02:02:52 当前系统时间 56 min系统已经运行了56分钟(在这期间没有重启过) 2 users 当前有2个用户登录系统 load average: 0.00, 0.00, 0.00 load average后面的三个数分别是1分钟、5分 阅读全文
posted @ 2018-08-11 21:58 micwin 阅读(584) 评论(0) 推荐(0) 编辑