摘要: 电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因? 一、 阅读全文
posted @ 2018-03-08 23:09 BarryW 阅读(1677) 评论(0) 推荐(0) 编辑
摘要: 前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名 :-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。 毕竟受文章和理论之限,本文将 阅读全文
posted @ 2018-03-08 22:28 BarryW 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用My 阅读全文
posted @ 2018-03-08 22:20 BarryW 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 简介 Trie树,又称为前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。 它的主要特点如下: 根节点不包含字符,除根节点外的 阅读全文
posted @ 2018-03-08 21:47 BarryW 阅读(819) 评论(0) 推荐(0) 编辑
摘要: 一、知识简介 最近在看字符串算法了,其中字典树、AC自动机和后缀树的应用是最广泛的了,下面将会重点介绍下这几个算法的应用。 字典树(Trie)可以保存一些字符串->值的对应关系。基本上,它跟 Java 的 HashMap 功能相同,都是 key-value 映射,只不过 Trie 的 key 只能是 阅读全文
posted @ 2018-03-08 21:38 BarryW 阅读(209) 评论(0) 推荐(0) 编辑
摘要: TCP与UDP区别总结:1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保 证可靠交付3、TCP面向字节流,实际上是TCP把数据看 阅读全文
posted @ 2018-03-08 21:14 BarryW 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 一、前言 项目中用到的SSO,使用开源框架cas做的。简单的了解了一下cas,并学习了一下 单点登录的原理,有兴趣的同学也可以学习一下,写个demo玩一玩。 二、工程结构 我模拟了 sso的客户端和sso的服务端, sso-core中主要是一些sso需要的过滤器和工具类,缓存和session共享的一 阅读全文
posted @ 2018-03-08 21:03 BarryW 阅读(693) 评论(0) 推荐(0) 编辑
摘要: MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka。这几种MQ到底应该选择哪个?要根据自己项目的业务场景和需求。下面我列出这些MQ之间的对比数据和资料。 第一部分:RabbitMQ,ActiveMq,ZeroMq比较 1、 TPS比较 一 ZeroMq 最好, 阅读全文
posted @ 2018-03-08 20:56 BarryW 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 英文原始出处: Bloom filter for Scala, the fastest for JVM 本文介绍的是用Scala实现的Bloom filter。 源代码在github上。依照性能测试结果,它是JVM上的最快的Bloom filter实现。零分配(Zero-allocation)和高度 阅读全文
posted @ 2018-03-08 17:03 BarryW 阅读(2389) 评论(0) 推荐(0) 编辑
摘要: Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,B 阅读全文
posted @ 2018-03-08 16:36 BarryW 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 数据量的问题是很多面试笔试中经常出现的问题,比如 google、淘宝、百度、 腾讯 这样的一些涉及到海量数据的公司经常会问到。 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直 阅读全文
posted @ 2018-03-08 16:04 BarryW 阅读(753) 评论(0) 推荐(0) 编辑
摘要: Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider 阅读全文
posted @ 2018-03-08 15:42 BarryW 阅读(20950) 评论(0) 推荐(2) 编辑
摘要: 项目码云GIT地址:https://gitee.com/xshuai/dubbo/ dubbo-admin-2.5.3下载地址:http://pan.baidu.com/s/1bozCMzP zookeeper下载地址:http://www-eu.apache.org/dist/zookeeper/ 阅读全文
posted @ 2018-03-08 14:11 BarryW 阅读(493) 评论(0) 推荐(0) 编辑