摘要: ab是什么 ab是Apache附带的一个压力测试工具,它非常容易使用 ab不像LoadRnner、Jmeter等那么专业,但它足够轻便,只需一条命令,就可以了解到web服务器处理请求的一些基本信息 ab能做什么 可以使用ab来模拟N个用户发送N个请求,结果数据可以告诉我们: 处理这些请求需要多少时间 阅读全文
posted @ 2018-08-11 23:49 micwin 阅读(492) 评论(0) 推荐(0)
摘要: 要想优化一条Query,就须要清楚这条Query的性能瓶颈到底在哪里,是消耗的CPU计算太多,还是需要的IO操作太多?要想能够清楚地了解这些信息,可以通过Query Profiler功能得到 用法 (1)通过执行“set profiling”命令,可以开启关闭QueryProfiler功能 mysq 阅读全文
posted @ 2018-08-11 23:48 micwin 阅读(445) 评论(0) 推荐(0)
摘要: 原创 2016-08-09 杜亦舒 性能与架构 一主一从 是最基础的复制结构,用来分担之前单台数据库服务器的压力,可以进行读写分离 一主多从 一台 Slave 承受不住读请求压力时,可以添加多台,进行负载均衡,分散读压力 还可以对多台 Slave 进行分工,服务于不同的系统,例如一部分 Slave 阅读全文
posted @ 2018-08-11 23:45 micwin 阅读(134) 评论(0) 推荐(0)
摘要: 2015-09-14 分布式系统架构知识 Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。InfoQ一直在紧密关注Kaf 阅读全文
posted @ 2018-08-11 23:42 micwin 阅读(119) 评论(0) 推荐(0)
摘要: CDN是什么? 谈到CDN的作用,可以用8年买火车票的经历来形象比喻: 8年前,还没有火车票代售点一说,12306.cn更是无从说起。那时候火车票还只能在火车站的售票大厅购买,而我所住的小县城并不通火车,火车票都要去市里的火车站购买,而从县城到市里,来回就是4个小时车程,简直就是浪费生命。后来就好了 阅读全文
posted @ 2018-08-11 23:36 micwin 阅读(138) 评论(0) 推荐(0)
摘要: 一、秒杀业务为什么难做 1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息); 2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据; 3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。 例如:小米手机每周二的秒杀,可能手机只有1 阅读全文
posted @ 2018-08-11 23:34 micwin 阅读(222) 评论(0) 推荐(0)
摘要: CDN的全称是Content Delivery Network,即内容分发网络 CDN的目的就是提高用户访问网站的响应速度 提速的基本思路 例如你的网站服务器是在北京,这时有一个广州的用户来访问你的网站 当你的网站没有使用CDN时,用户是直接通过网络读取你的服务器,这个过程就涉及到了一些网络问题,例 阅读全文
posted @ 2018-08-11 23:32 micwin 阅读(386) 评论(0) 推荐(0)
摘要: 1. HTTP重定向 当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url,然后浏览器再继续请求这个新url,实际上就是页面重定向。通过重定向,来达到“负载均衡”的目标 这个方式非常容易实现,并且可以自定义各种策略,但是,它在大规模访问量下,性能不佳, 阅读全文
posted @ 2018-08-11 23:30 micwin 阅读(205) 评论(0) 推荐(0)
摘要: 随着系统架构的逐渐演化,服务器的数量和结构会越来越复杂,例如web服务器集群的搭建,提高了系统的性能,同时也提高了系统维护的复杂度,我们需要对集群中各台服务器进行监控,来保证为用户提供服务的是正常运行的服务器,整体系统的可用性就至关重要 Keepalived提供了很好的高可用性保障服务,它可以检查服 阅读全文
posted @ 2018-08-11 23:26 micwin 阅读(217) 评论(0) 推荐(0)
摘要: session共享方案解决了集群中各服务器session不再独立的问题,但有些场景也不适合用session共享来处理 例如: (1)密切相关的多次交互 希望由同一台服务器处理 电子商务系统中,一个客户与服务器经常会经过好几次的交互过程才能完成一笔交易,由于这几次交互过程是密切相关的,完成某一个交互步 阅读全文
posted @ 2018-08-11 23:23 micwin 阅读(233) 评论(0) 推荐(0)
摘要: 当网站业务规模和访问量的逐步增大,原本由单台服务器、单个域名组成的网站架构可能已经无法满足发展需要 此时会购买更多的服务器,并且以频道化的方式启用多个二级子域名,然后根据业务功能将网站分别部署在独立的服务器上,或者通过负载均衡技术让多个频道共享一组服务器 如果我们把网站程序分别部署到多台服务器上,而 阅读全文
posted @ 2018-08-11 23:16 micwin 阅读(1629) 评论(0) 推荐(0)
摘要: Keepalived是一款优秀的实现高可用的软件,它运行在LVS之上,它的主要功能是实现真实机的故障隔离及负载均衡器间的失败切换 Keepalived专门用来监控集群系统中各个服务节点的状态,它根据TCP/IP参考模型的第三、第四和第五层交换机制检测每个服务节点的状态 如果有一台Web服务器死机,或 阅读全文
posted @ 2018-08-11 23:13 micwin 阅读(201) 评论(0) 推荐(0)
摘要: 2015-03-26 分布式系统架构知识 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的 阅读全文
posted @ 2018-08-11 22:48 micwin 阅读(81) 评论(0) 推荐(0)
摘要: 2015-04-01 分布式系统架构知识 目录: 1、大型网站架构的目标与挑战 2、网站架构演变及其技术脉络 3、架构设计理论与原则 何为“大型”网站? 没有统一的判断标准,流量大小是一个重要指标(日均流量至少IP>1,000,000才算大型网站) 一、大型网站架构的目标与挑战 每个目标背后面临着技 阅读全文
posted @ 2018-08-11 22:46 micwin 阅读(82) 评论(0) 推荐(0)
摘要: 2015-06-20 分布式系统架构知识 移动互联网、云计算和大数据的成熟和发展,让更多的好想法得以在很短的时间内实现为产品。此时,如果用户需求抓得准,用户数量将很可能获得爆发式增长,而不需要像以往一样需要精心运营几年的时间。然而用户数量的快速增长(尤其是短时间内的爆发式增长),通常会让应用开发者有 阅读全文
posted @ 2018-08-11 22:44 micwin 阅读(155) 评论(0) 推荐(0)
摘要: 2015-07-07 分布式系统架构知识 前几天网友来信说帮忙实现这样一个架构:只有两台机器,需要实现其中一台死机之后另一台能接管这台机器的服务,并且在两台机器正常服务时,两台机器都能用上。于是设计了如下的架构。 架构简介 此架构主要是由keepalived实现双机高可用,维护了一个外网VIP,一个 阅读全文
posted @ 2018-08-11 22:42 micwin 阅读(172) 评论(0) 推荐(0)
摘要: 2015-08-02 分布式系统架构知识 简介 MySQL集群是一种在无共享架构(SNA,Share Nothing Architecture)系统里应用内存数据库集群的技术。这种无共享的架构可以使得系统使用低廉的硬件获取高的可扩展性。 MySQL集群是一种分布式设计,目标是要达到没有任何单点故障点 阅读全文
posted @ 2018-08-11 22:40 micwin 阅读(325) 评论(0) 推荐(0)
摘要: 原创 2016-04-19 高可用小编 高可用架构 有人的地方,就有江湖 有江湖的地方,就有纷争 问题的起源 在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性? 具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要么同时成功;要么同时失败。A、 阅读全文
posted @ 2018-08-11 22:26 micwin 阅读(66) 评论(0) 推荐(0)
摘要: 什么是粘包、拆包? 对于什么是粘包、拆包问题,我想先举两个简单的应用场景: 对于第一种情况,服务端的处理流程可以是这样的:当客户端与服务端的连接建立成功之后,服务端不断读取客户端发送过来的数据,当客户端与服务端连接断开之后,服务端知道已经读完了一条消息,然后进行解码和后续处理...。对于第二种情况, 阅读全文
posted @ 2018-08-11 22:03 micwin 阅读(4740) 评论(0) 推荐(0)
摘要: 2016-04-07 Dong 架构说 1. 背景介绍 许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征: (1) 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦; (2) 支持近实时的在线分析 阅读全文
posted @ 2018-08-11 22:01 micwin 阅读(186) 评论(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 阅读(621) 评论(0) 推荐(0)
摘要: 【视图02】 在top基本视图中,按键盘数字1,可监控每个逻辑CPU的状况,因为我的主机只有一个逻辑CPU,所以只能看到Cpu0的信息: 【视图03】 按键盘b,打开或关闭x,y模式的高亮显示 【视图04】 按键盘x,打开/关闭高亮显示排序列 【视图05】 按键盘< 或 > ,左右改变排序列 【视图 阅读全文
posted @ 2018-08-11 21:58 micwin 阅读(200) 评论(0) 推荐(0)
摘要: 2015-04-14 分布式系统架构知识 本文重点推荐Codis——豌豆荚开源的Redis分布式中间件(该项目于4个月前在GitHub开源,目前star已超过2100)。其和Twemproxy相比,有诸多激动人心的新特性,并支持从Twemproxy无缝迁移至Codis。 本文主要目录如下,对Redi 阅读全文
posted @ 2018-08-11 21:47 micwin 阅读(205) 评论(0) 推荐(0)
摘要: 2015-01-06 架构师之旅 总的来说有两种持久化方案:RDB和AOF RDB方式按照一定的时间间隔对数据集创建基于时间点的快照。 AOF方式记录Server收到的写操作到日志文件,在Server重启时通过回放这些写操作来重建数据集。该方式类似于MySQL中基于语句格式的binlog。当日志变大 阅读全文
posted @ 2018-08-11 21:43 micwin 阅读(129) 评论(0) 推荐(0)
摘要: 2015-01-13 架构师之旅 1. 事务处理和并发性 1.1. 基础知识和相关概念 1 )全部的表类型都可以使用锁,但是只有 InnoDB 和 BDB 才有内置的事务功能。 2 )使用 begin 开始事务,使用 commit 结束事务,中间可以使用 rollback 回滚事务。 3 )在默认情 阅读全文
posted @ 2018-08-11 21:42 micwin 阅读(155) 评论(0) 推荐(0)
摘要: 2015-01-20 架构师之旅 MySQL是一个功能强大的开源数据库。随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限。这里是101条调节和优化MySQL安装的技巧。一些技巧是针对特定的安装环境的,但这些思路是通用的。我已经把他们分成几类,来帮助你掌握更多MySQL的调节 阅读全文
posted @ 2018-08-11 21:41 micwin 阅读(119) 评论(0) 推荐(0)
摘要: 2016-06-17 BAIDU 架构师之旅 id分配是社区类产品的提交环节中必不可少的一步。任何UGC类内容产生时往往需要分配一个对应的id。 id分配的几种方式 方式一:单点自增分配。全局由一个模块来负责生成id,可保证id从0开始连续递增,数据一般放在本地文件。简洁,但致命的问题是单点故障会导 阅读全文
posted @ 2018-08-11 21:39 micwin 阅读(484) 评论(0) 推荐(0)
摘要: 2016-06-21 标点符 架构师之旅 Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。 在大数据系统中,常常会碰到一个问题,整个大数据是由各个子 阅读全文
posted @ 2018-08-11 21:38 micwin 阅读(172) 评论(0) 推荐(0)
摘要: 2015-07-13 架构师联盟 文档处理在开发中是一个非常常见的任务了,例如导出Excel,导出Word,生成PDF报表等等。那今天就看看下面这些.NET开源项目你知道不?如果有用,千万不要忘记推荐哦。同时个人能力有限,希望大家补充。 1.Excle神器NPOI NPOI 是 POI 项目的 .N 阅读全文
posted @ 2018-08-11 21:33 micwin 阅读(276) 评论(0) 推荐(0)
摘要: 2016-03-25 王金剑 架构师联盟 为什么需要MyCat? 虽然云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代。如果传统数据易于扩展,可切分,就可以避免单机(单库)的性能缺陷。 MyCat的目标就是:低成本地将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储 阅读全文
posted @ 2018-08-11 21:29 micwin 阅读(237) 评论(0) 推荐(0)
摘要: 原创 2016-04-06 孔凡勇 架构师联盟 现在几乎任何一个网站、Web App以及移动APP等应用都需要有图片展示的功能,对于图片功能从下至上都是很重要的。必须要具有前瞻性的规划好图片服务器,图片的上传和下载速度至关重要,当然这并不是说一上来就搞很NB的架构,至少具备一定扩展性和稳定性。虽然各 阅读全文
posted @ 2018-08-11 21:23 micwin 阅读(413) 评论(0) 推荐(0)
摘要: 2016-04-13 徐亮偉 架构师联盟 目前网站架构一般分为网页缓存层、负载均衡层、Web层、数据库层、文件服务器层 。我们可以依次用这五层对网站架构进行讨论,为了增强说服力,我将用如下三个并发较大的生产环境来说明。 电子商务网站(并发最大峰值2900,日PV500万左右) 电子广告网站(并发最大 阅读全文
posted @ 2018-08-11 21:22 micwin 阅读(454) 评论(0) 推荐(0)
摘要: 原创 2016-04-17 itivy 架构师联盟 之前我简单向大家介绍了各个知名大型网站的架构,MySpace的五个里程碑、Flickr的架构、YouTube的架构、PlentyOfFish的架构、WikiPedia的架构。这几个都很典型,我们可以从中获取很多有关网站架构方面的知识,看了之后你会发 阅读全文
posted @ 2018-08-11 21:18 micwin 阅读(89) 评论(0) 推荐(0)
摘要: 2016-05-09 Heaven Wang 架构师联盟 一、Kafka简介 本文综合了我之前写的kafka相关文章,可作为一个全面了解学习kafka的培训学习资料。 1.1 背景历史 当今社会各种应用系统诸如商业、社交、搜索、浏览等像信息工厂一样不断的生产出各种信息,在大数据时代,我们面临如下几个 阅读全文
posted @ 2018-08-11 21:02 micwin 阅读(216) 评论(0) 推荐(0)
摘要: 2016-06-05 hiyachen 架构师联盟 先说区别: 一句话:分布式是并联工作的,集群是串联工作的。 1:分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。 分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。 举例:就比如新浪网,访 阅读全文
posted @ 2018-08-11 20:59 micwin 阅读(179) 评论(0) 推荐(0)
摘要: 2016-07-04 erixhao 架构师联盟 The largest single database on earth - Google Spanner. 上文大篇幅介绍了一些分布式存储的理论,偏重理论。可别小看这些理论,Google的各个神器都是建立在这些理论之上,甚至整个Apache的大数据 阅读全文
posted @ 2018-08-11 20:57 micwin 阅读(357) 评论(0) 推荐(0)
摘要: 2016-07-02 erixhao 架构师联盟 总目录: 分布式存储概述 分布式存储特性 - 哈希分布/一致性哈希分布 分布式存储协议 - 两阶段与Paxos 一、概述 分布式存储作为互联网之核心基石,没有分布式海量存储就好比无源之水。分布式系统不是什么新鲜事物,教科书里已经研究了好多年,但是不温 阅读全文
posted @ 2018-08-11 20:56 micwin 阅读(674) 评论(0) 推荐(0)
摘要: 2016-07-28 架构师联盟 前面几篇文章对Elasticsearch做了简单介绍(http://www.qixing318.com/article/distributed-search-engine-elasticsearch-incarnations.html)与介绍如何创建索引,以及Ela 阅读全文
posted @ 2018-08-11 20:53 micwin 阅读(293) 评论(0) 推荐(0)
摘要: 2016-03-17 架构说 大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。 系统架构组成 大型动态应用系统又可分为几个子系统: 1)Web前端系统 2)负载均衡系统 3)数据库 阅读全文
posted @ 2018-08-11 20:51 micwin 阅读(472) 评论(0) 推荐(0)
摘要: 2016-03-20 架构说 一、软件负载均衡概述 硬件负载均衡性能优越,功能全面,但是价格昂贵,一般适合初期或者土豪级公司长期使用。因此软件负载均衡在互联网领域大量使用。常用的软件负载均衡软件有Nginx,Lvs,HaProxy等。本文参考大量文档,部分为直接拷贝,参考出处文末。 二、Ngnix负 阅读全文
posted @ 2018-08-11 20:45 micwin 阅读(212) 评论(0) 推荐(0)
摘要: 2016-03-20 架构说 面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比如(Go,Scala)等,当单机容量达到极限时,我们需要考虑业务拆分和分布式部署,来解决大型网站访问量大,并发量高,海量数据的问题。 从单机网 阅读全文
posted @ 2018-08-11 20:44 micwin 阅读(220) 评论(0) 推荐(0)
摘要: 2016-03-27 架构说 在讲数据库水平拆分时候,我列出了水平拆分数据库需要解决的两个难题,它们分别是主键的设计问题和单表查询的问题,主键问题前文已经做了比较详细的讲述了,但是第二个问题我没有讲述,今天我将会讲讲如何解决数据表被垂直拆分后的单表查询问题。 要解决数据表被水平拆分后的单表查询问题, 阅读全文
posted @ 2018-08-11 20:39 micwin 阅读(87) 评论(0) 推荐(0)
摘要: 2016-03-26 架构说 上文里我遗留了两个问题,一个问题是数据库做了水平拆分以后,如果我们对主键的设计采取一种均匀分布的策略,那么它对于被水平拆分出的表后续的查询操作将有何种影响,第二个问题就是水平拆分的扩容问题。这两个问题在深入下去,本系列就越来越技术化了,可能最终很多朋友读完后还是没有找到 阅读全文
posted @ 2018-08-11 20:38 micwin 阅读(105) 评论(0) 推荐(0)
摘要: 2016-03-25 架构说 如果数据库需要进行水平拆分,这其实是一件很开心的事情,因为它代表公司的业务正在迅猛的增长,对于开发人员而言那就是有不尽的项目可以做,虽然会感觉很忙,但是人过的充实,心里也踏实。 数据库水平拆分简单说来就是先将原数据库里的一张表在做垂直拆分出来放置在单独的数据库和单独的表 阅读全文
posted @ 2018-08-11 20:36 micwin 阅读(85) 评论(0) 推荐(0)
摘要: 2016-03-25 架构说 存储的瓶颈写到现在就要进入到深水区了,如果我们所做的网站已经到了做数据库垂直拆分和水平拆分的阶段,那么此时我们所面临的技术难度的挑战也会大大增强。 这里我们先回顾下数据库的垂直拆分和水平拆分的定义: 垂直拆分:把一个数据库中不同业务单元的数据分到不同的数据库里。 水平拆 阅读全文
posted @ 2018-08-11 20:35 micwin 阅读(84) 评论(0) 推荐(0)
摘要: 上篇文章里我讲到某些网站在高并发下会报出503错误,503错误的含义是指网站服务端暂时无法提供服务的含义,503还表达了网站服务端现在有问题但是以后可能会提供正常的服务,对http协议熟悉的人都知道,5开头的响应码表达了服务端出现了问题,在我们开发测试时候最为常见的是500错误,500代表的含义是服 阅读全文
posted @ 2018-08-11 20:31 micwin 阅读(72) 评论(0) 推荐(0)
摘要: 2016-03-23 架构说 前不久公司请来了位互联网界的技术大牛跟我们做了一次大型网站架构的培训,两天12个小时信息量非常大,知识的广度和难度也非常大,培训完后我很难完整理出全部听到的知识,今天我换了个思路是回味这次培训,这个思路就是通过本人目前的经验和技术水平来思考下大型网站技术演进的过程。 首 阅读全文
posted @ 2018-08-11 20:30 micwin 阅读(125) 评论(0) 推荐(0)
摘要: 大型网站系统架构系列:分布式消息队列(二) 大型网站系统架构系列:分布式消息队列(二) 2016-03-21 架构说 四、JMS消息服务 讲消息队列就不得不提JMS 。JMS(JAVA Message Service,java消息服务)API是一个消息服务的标准/规范,允许应用程序组件基于JavaE 阅读全文
posted @ 2018-08-11 20:23 micwin 阅读(154) 评论(0) 推荐(0)
摘要: 大型网站系统架构系列:分布式消息队列(一) 大型网站系统架构系列:分布式消息队列(一) 2016-03-21 架构说 一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 阅读全文
posted @ 2018-08-11 20:22 micwin 阅读(101) 评论(0) 推荐(0)
摘要: 在天猫双11活动中,商品详情、店铺等浏览型系统,通常会承受超出日常数倍甚至数十倍的流量冲击。随着历年来双11流量的大幅增加,每年这些浏览型系统都要面临容量评估、硬件扩容、性能优化等各类技术挑战。因此,架构方面的重点在于,如何能够利用合理成本应对瞬间飙高的峰值请求,并确保活动完整周期中系统容量的可伸缩 阅读全文
posted @ 2018-08-11 19:42 micwin 阅读(189) 评论(0) 推荐(0)
摘要: 编者按:经过2014年一年的酝酿,2015微信红包总量创下历史新高,峰值1400万次/秒,8.1亿次每分钟,微信红包收发达10.1亿次,系统整体运行平稳, 在这里我分享下微信红包背后的技术。 讲师:jeri 核心功能&目标 首先,了解下微信红包的4个逻辑:摇/发/抢/拆。看似简单,实现可不简单再re 阅读全文
posted @ 2018-08-11 19:36 micwin 阅读(4181) 评论(0) 推荐(0)
摘要: 最近,阅读了Will Larson的文章Introduction to Architecting System for Scale,感觉很有价值。作者分享了他在Yahoo!与Digg收获的设计可伸缩系统的架构经验。在我过往的架构经验中,由于主要参与开发企业软件系统,这种面向企业内部的软件系统通常不会 阅读全文
posted @ 2018-08-11 19:35 micwin 阅读(883) 评论(0) 推荐(0)
摘要: 一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常状态。我们现在一起来讨论下,优化的思路和方法哈。 1. 请求接口的合理设计 一个秒杀或者抢购页面,通常分为2个部分 阅读全文
posted @ 2018-08-11 19:32 micwin 阅读(262) 评论(0) 推荐(0)
摘要: Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程 Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程 可以通过压力测试对网站及服务器性能进行高压测试,暴露出其所存在的问题。从而对服务器及网站进行调整和优化。 注意在 阅读全文
posted @ 2018-08-11 15:14 micwin 阅读(2670) 评论(0) 推荐(0)
摘要: RAID - 提升IO性能及数据安全 磁盘的I/O性能直接影响应用程序的性能,在一个有频繁读写操作的应用中,如果磁盘I/O性能得不到满足,就会导致应用停滞 好在如今的磁盘采用了很多方法来提高I/O性能,比如常见的磁盘RAID技术 RAID的英文全称为:Redundant Array of Indep 阅读全文
posted @ 2018-08-11 15:12 micwin 阅读(1170) 评论(0) 推荐(0)
摘要: 在Windows服务器上安装ELK logstash在windows平台下不能监控磁盘文件,用nxlog代替,监控文件并把内容发送到logstash 部署环境 Os :Windows 7 logstash版本:logstash-2.2.1 elasticsearch版本:elasticsearch- 阅读全文
posted @ 2018-08-11 14:39 micwin 阅读(181) 评论(0) 推荐(0)
摘要: ASP.NET Web Api使用CacheCow和ETag缓存资源 ASP.NET Web Api使用CacheCow和ETag缓存资源 2015-07-15 FZRAIN dotNET跨平台 前言 本文将使用一个开源框架CacheCow来实现针对Http请求资源缓存,本文主要介绍服务器端的缓存。 阅读全文
posted @ 2018-08-11 14:36 micwin 阅读(186) 评论(0) 推荐(0)
摘要: 一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。 如果Web系统不做针对性的优化,会轻而易举地陷入到异常状态。我们现在一起来讨论下,优化的思路和方法哈。 1. 请求接口的合理设计 一个秒杀或者抢购页面,通常分为2个部 阅读全文
posted @ 2018-08-11 14:32 micwin 阅读(158) 评论(0) 推荐(0)
摘要: 网页性能优化工具 PageSpeed 和 YSlow 是目前主流的网页性能测试工具 GT Metrix 结合了 Google PageSpeed 和 YSlow,帮助开发者创建快速、高效、全面优化的网页浏览体验 地址 https://gtmetrix.com/ 虽然是国外的网站,但访问速度很快 在首 阅读全文
posted @ 2018-08-11 14:30 micwin 阅读(663) 评论(0) 推荐(0)
摘要: 目录 系列主题:基于消息的软件架构模型演变 系列主题:基于消息的软件架构模型演变 NServiceBus 是一个.Net平台下开源的消息服务框架,这类产品有时也被称作ESB(Enterprise Service Bus)——企业服务总线。NServicebus官方地址:http://particul 阅读全文
posted @ 2018-08-11 14:29 micwin 阅读(133) 评论(0) 推荐(0)
摘要: 前言应用场景 事务必须满足传统事务的特性,即原子性,一致性,分离性和持久性。但是分布式事务处理过程中, 某些场地比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证? 在搜索广告系统中,当用户点击某广告后,除了在点击事件表中增加一条记录外,还得去 阅读全文
posted @ 2018-08-11 14:26 micwin 阅读(226) 评论(0) 推荐(0)
摘要: Redis 实现安全队列 Redis 实现安全队列 Redis的列表数据结构可以让我们方便的实现消息队列 例如用 LPUSH(BLPUSH)把消息入队,用 RPOP(BRPOP)获取消息 绝大部分的情况下,这些操作都是没问题的,但并不能保证绝对安全 当 LPOP 返回一个元素给客户端的时候,会从 l 阅读全文
posted @ 2018-08-11 14:20 micwin 阅读(166) 评论(0) 推荐(0)
摘要: SQL Server数据库大型应用解决方案总结 SQL Server数据库大型应用解决方案总结 原创 2016-04-12 .NET求学者 架构师联盟 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的 阅读全文
posted @ 2018-08-11 14:19 micwin 阅读(87) 评论(0) 推荐(0)
摘要: MySQL存储引擎 什么是存储引擎? 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。 在Oracle和SQL Server等数据库中只有一种存储引擎 阅读全文
posted @ 2018-08-11 14:02 micwin 阅读(104) 评论(0) 推荐(0)
摘要: 在Visual Studio 2015中使用Grunt、Bower开发Web程序 在Visual Studio 2015中使用Grunt、Bower开发Web程序 基于Visual Studio 2015,你可以: 方便的管理前端包,如jQuery, Bootstrap, 或Angular。 自动运 阅读全文
posted @ 2018-08-11 13:48 micwin 阅读(141) 评论(0) 推荐(0)
摘要: C#中的多线程 - 同步基础 1同步概要 在第 1 部分:基础知识中,我们描述了如何在线程上启动任务、配置线程以及双向传递数据。同时也说明了局部变量对于线程来说是私有的,以及引用是如何在线程之间共享,允许其通过公共字段进行通信。 下一步是同步(synchronization):为期望的结果协调线程的 阅读全文
posted @ 2018-08-11 13:46 micwin 阅读(343) 评论(0) 推荐(0)
摘要: MHA(master high availability) 是用来保证 Mysql 集群高可用性的,对 master 进行监控,发现 master 出现故障后,自动进行故障转移,从众多 slave 中选举出新的 master,并使其他 slave 与新 master 进行同步 主要特点是故障处理速度 阅读全文
posted @ 2018-08-11 13:43 micwin 阅读(111) 评论(0) 推荐(0)
摘要: 负载均衡算法 负载均衡的发展基础就是负载均衡算法。那么针对不同的服务器我们也会采用不同的负载均衡算法,因为他们所具备的和要求的功能各不相同。那么我们现在就来详细了解一下这方面的知识。希望能让大家从中得到需要的东西。 服务器负载均衡算法有很多(持续性的和非持续性的),包括轮循算法、最少连接算法、响应时 阅读全文
posted @ 2018-08-11 13:37 micwin 阅读(348) 评论(0) 推荐(0)
摘要: Sql Server Hash 分区 --分区函数 CREATE PARTITION FUNCTION [zping.com.pf](int) AS RANGE LEFT FOR VALUES (-1073741824, 0, 1073741824) --分区方案 CREATE PARTITION 阅读全文
posted @ 2018-08-11 13:34 micwin 阅读(1166) 评论(0) 推荐(0)
摘要: 1、利用属性标签方式进行方法同步和上下文同步:MethodImplAttribute 类 和 SynchronizationAttribute 类 2、同步代码区:Monitor 类、Lock 关键字、ReaderWriterLock 类。 3、手控同步:AutoResetEvent 类、Manua 阅读全文
posted @ 2018-08-11 13:32 micwin 阅读(319) 评论(0) 推荐(0)
摘要: 动态链接库的概念 动态链接库(Dynamic Link Library,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行 阅读全文
posted @ 2018-08-11 13:29 micwin 阅读(197) 评论(0) 推荐(0)
摘要: 本文介绍的 Zookeeper 是以 3.4.5 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两个方面介绍 Zookeeper 的Windows安装和配置. 首 阅读全文
posted @ 2018-08-11 13:28 micwin 阅读(91) 评论(0) 推荐(0)
摘要: sql语句优化 性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。 为了获得稳定的执行性能,SQL语句越简单越好。对复杂的SQL语句,要设法对之进行简化。 常见的简化规则如下: 1)不要有超过5个以上的表连接(JOIN) 阅读全文
posted @ 2018-08-11 13:26 micwin 阅读(144) 评论(0) 推荐(0)
摘要: 一、大型网站架构系列 第一本:《大型网站技术架构:核心原理与案例分析》 这是本算是国内大型网站架构的经典之作,由阿里人李智慧创作,听名字就知道本书很有智慧。主要从大型网站架构的特点,架构目标(高性能,高可用,可伸缩等)基本理论讲起,并介绍了几个很有特色的案例。 之前群内分享的大型网站架构系列的基础理 阅读全文
posted @ 2018-08-11 13:22 micwin 阅读(290) 评论(0) 推荐(1)
摘要: ASP.NET SignalR 高可用设计 在 One ASP.NET 的架构图中,微软将 WebAPI 和 SignalR 归类到 Services 类型与 MVC、Web Forms 同列为一等公民,未来的 ASP.NET 5 尽管还在beta阶段,由它的架构图中可以发现原来就非常相似的 MVC 阅读全文
posted @ 2018-08-11 13:17 micwin 阅读(125) 评论(0) 推荐(0)
摘要: CDN技术详解 一本好的入门书是带你进入陌生领域的明灯,《CDN技术详解》绝对是带你进入CDN行业的那盏最亮的明灯。因此,虽然只是纯粹的重点抄录,我也要把《CDN技术详解》的精华放上网。公诸同好。 第一章 引言 “第一公里”是指万维网流量向用户传送的第一个出口,是网站服务器接入互联网的链路所能提供的 阅读全文
posted @ 2018-08-11 13:13 micwin 阅读(875) 评论(0) 推荐(0)
摘要: 【HTTP协议】 HTTP协议详解 HTTP协议详解 一.HTTP简介 1.HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送 阅读全文
posted @ 2018-08-11 13:10 micwin 阅读(149) 评论(0) 推荐(0)
摘要: 目录 目录 一、网络协议 二、TCP(Transmission Control Protocol,传输控制协议) 三、HTTP(HyperText Transfer Protocol,超文本传输协议) 四、相关资料 一、网络协议 国际标准化组织(International Standard Orga 阅读全文
posted @ 2018-08-11 13:08 micwin 阅读(198) 评论(0) 推荐(0)
摘要: 常见容错机制:failover ,failsafe,failfase ,failback,forking,来源于阿里的定义。 Failover 失败自动切换 当出现失败,重试其它服务器,通常用于读操作(推荐使用)。 重试会带来更长延迟。 Failfast 快速失败 只发起一次调用,失败立即报错,通常 阅读全文
posted @ 2018-08-11 13:07 micwin 阅读(551) 评论(0) 推荐(0)
摘要: WebService三要素 WebService三要素 SOAP(Simple Object Access Protocol) 用来描述传递信息的格式; WSDL(Web Services Description Language) 用来描述如何访问具体的接口; UDDI(Universal Des 阅读全文
posted @ 2018-08-11 13:06 micwin 阅读(203) 评论(0) 推荐(0)
摘要: WCF(Windows Communication Foundation)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术 阅读全文
posted @ 2018-08-11 13:05 micwin 阅读(237) 评论(0) 推荐(0)