05 2018 档案
摘要:一、nginx限流模块 接入层指的是请求流量的入口,我们可以在这里做很多控制,比如:负载均衡,缓存,限流等。 nginx中针对限流有两个模块可以处理: 1)ngx_http_limit_req_module;连接数限流模块 2)ngx_http_limit_conn_module;请求限流模块 连接
阅读全文
摘要:一、简介 1)分布式限流 如果是单实例项目,我们使用Guava这样的轻便又高性能的堆缓存来处理限流。但是当项目发展为多实例了以后呢?这时候我们就需要采用分布式限流的方式,分布式限流可以以redis + lua 或者 nignx + lua这样的组合来实现。。 分布式限流一般应用场景都是在业务上进行限
阅读全文
摘要:如果某个接口可能出现突发情况,比如“秒杀”活动,那么很有可能因为突然爆发的访问量造成系统奔溃,我们需要最这样的接口进行限流。 在上一篇“限流算法”中,我们简单提到了两种限流方式: 1)(令牌桶、漏桶算法)限速率,例如:每 5r/1s = 1r/200ms 即一个请求以200毫秒的速率来执行; 2)(
阅读全文
摘要:在高并发系统中,我们常常提到的几个词汇“缓存”,“限流”,“降级”等。本文涉及到的是其中“限流”的部分,顾名思义,限流是一种限制流量的手段(我们可以粗粒度地理解为,限制请求的数量或者速度)。 在限流特技中,常见的限流算法有两种: 1)令牌桶算法; 2)漏桶算法; 当然,我们也可以粗暴地采用计数器的方
阅读全文
摘要:一、实现方式 mycat作为一个数据库中间件,它能够实现读写分离。简单地说,它可以将“写数据”和“读数据”分开,分配到不同地数据库。但是,它并不能够做到对数据库进行数据同步,所以mycat地读写分离是依赖于数据库本身地“复制”功能。例如:mysql地“主从复制”或者“双主复制”等。 二、主从复制||
阅读全文
摘要:一、简介 在上一篇的主从复制中:http://www.cnblogs.com/lay2017/p/9043985.html 我们了解到,mysql通过master写日志,slave读取并执行日志内容从而达到slave数据与master的一致。那么基于这个原理,我们可以实现两台master的复制功能。
阅读全文
摘要:一、原理 mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面; 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把master发送的二进制写入到relay日志里面; 4)slave有一个SQL线程,按照relay日志处理s
阅读全文
摘要:一、逻辑库(schema) 业务人员一般是不需要知道数据库中间件的,他们只需要连接到数据库并使用数据库,一切复杂的细节都被中间件给隐藏了,对于业务人员来说中间件即是一个数据库。这里逻辑库的概念就是一个或者多个数据库集群构成的逻辑库。其实我们可以简单地理解为:mycat这样的中间件就是一个逻辑库。 二
阅读全文
摘要:一、目标 我们准备建立两个数据库:test、test2。 test包含两张表:1)t_user; 2) t_class test2包含一张表:2)t_user 如上,我们打算把t_user的数据均匀的分布到test和test2两个数据库里面,而t_class的数据仅分布到test一个数据库里面; 二
阅读全文
摘要:一、简介 在互联网数据大爆炸时代,对数据处理的要求越来越高,很明显单实例数据库已经不能满足需求了,这时候数据库的中间件便应运而生。中间件聚集多实例来提供更强的处理能力,并且隐藏了多实例产生的复杂性。mycat就是一个数据库中间件,它是基于阿里巴巴开源的Cobar。由于Cobar存在着严重的问题,所以
阅读全文
摘要:在使用jmeter进行单一接口测试之前,我们先来了解一下一个用户请求的过程,如下: 1)用户通过浏览器发起一个请求; 2)用户收到服务器返回的响应数据。 如上,就是一个WEB的请求/响应模型 jmeter要测试WEB接口,那么它就得模拟这个请求响应模型,得有下几个元素: 1)用户(或者称之为线程);
阅读全文
摘要:一、简介 jmeter是属于apache的一个开源产品,纯Java应用。最初用来进行功能测试,而后又扩展了更多的测试功能。 二、下载 进入apache的jmeter下载页:http://jmeter.apache.org/download_jmeter.cgi 选择下载对应的二进制文件 本文以mac
阅读全文
浙公网安备 33010602011771号