简单而言通过增加集群来提升qps和吞吐量

实际上要比这个要复杂

首先我们需要知道系统的瓶颈

我们所知道的系统拓扑架构

对于rest接口而言

系统设施依次是:

dns

  nginx

    tomcat

      db/soa

首先我们可以通过增加集群来增加qps和吞吐量

其次考虑到负载均衡的问题,我们可以通过其他设施来保证集群节点的负载均衡,进一步提高系统qps

于是就有nginx集群+负载均衡

tomcat集群+负载均衡

到db/soa这一层的时候,同样也可以通过增加集群+负载均衡的方式来解决

我们还可以在每一层增加缓存来应对热点数据

然而另外一个方面,可以系统拆分,服务拆分,分别针对瓶颈的系统单独增加集群和负载均衡来解决

同样db也可以分库分表,

因为单表超过1000万条数据时就很慢了,所以这个时候就需要库拆分,于是就有垂直拆分,水平拆分。   

异步化,可以不同调用的异步化,使用mq,比如发送短信,发送邮件等

综上所述:

集群+负载均衡

增加缓存

系统拆分

分库分表

垂直拆分+水平拆分

异步化+MQ

提升系统的QPS和吞吐量的更多相关文章

  1. 【Linux SELinux】提升系统安全(一)

    本文重点:了解SELinux并能够熟练地启动关闭selinux(就像精通windows系统开关机一样) 背景:在centos5.x之后,selinux 非常完备地成为了系统内核模块,centos5.x ...

  2. 【赶快收藏】Hystrix实战,优雅提升系统的鲁棒性

    背景 最近接手了一个系统,其功能都是查询.查询分了两种方式,一种是公司集团提供的查询能力,支持全国各个省份的查询,但是业务高峰期时服务响应比较慢:另外一种是各省的分公司都分别提供了对应的查询能力,但是 ...

  3. 小小知识点(四十八)——发送端已知CSI,基于预编码技术,进一步提高MIMO系统和用户的吞吐量

    1.预编码技术的概念 对于空间复用,LTE既支持开环方式的空间复用(发端未知CSI),也支持闭环方式的空间复用(发端已知CSI) 对于LTE中闭环方式的空间复用(即预编码系统)中,发射机可以根据信道条 ...

  4. nginx+redis 实现 jsp页面缓存,提升系统吞吐率

    最近在开发的时候,发现之前APP客户端的一部分页面用的是webview交互,这些页面请求很多,打开一套试卷,将会产生100+的请求量,导致系统性能下降.于是考虑在最靠近客户端的Nginx服务器上做Re ...

  5. Win10 提升系统响应速度

    转载百度经验: https://jingyan.baidu.com/article/54b6b9c0e9d61e2d583b4719.html 1.鼠标左键点击开始按钮,然后点击菜单中的设置,进入设置 ...

  6. 修改centos和ubuntu ssh远程连接端口提升系统安全性

    #修改centos服务器ssh端口 sed -i 's/#Port 22/Port 38390/' /etc/ssh/sshd_config sed -i 's/^GSSAPIAuthenticati ...

  7. 使用Iperf工具测试android系统网络wifi的吞吐量wifithrougput

    http://blog.csdn.net/bingxuebage/article/details/7534655 服务端:./iperf3 -s &客户端:./iperf3 -c 10.15. ...

  8. 2020年大厂Java面试题(基础+框架+系统架构+分布式+实战)

    前言 作为一个Java开发者,Java架构师应该是大家的一个职业目标了吧. 要成为Java架构师,首先你要是一个高级Java工程师,熟练使用各种框架,并知道它们实现的原理.jvm虚拟机原理.调优,懂得 ...

  9. Java 面试题:百度前200页都在这里了

    基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie ...

随机推荐

  1. 微信小程序自定义微信客服按钮

    微信小程序官方api中提到的微信客服,是一个固定的组件,图标样式固定,大小最多27px 很明显这个是不能满足我们各种奇葩需求的.下面提供一个野蛮的自定义方法. 比如做一个这样的按钮: 图标用自定义的, ...

  2. uiautomator 代码记录 : BT发送测试

    package rom; import java.lang.*; import java.util.Random; import java.io.File; import com.android.ui ...

  3. 【Python】python3 正则爬取网页输出中文乱码解决

    爬取网页时候print输出的时候有中文输出乱码 例如: \\xe4\\xb8\\xad\\xe5\\x8d\\x8e\\xe4\\xb9\\xa6\\xe5\\xb1\\x80 #爬取https:// ...

  4. bayes公式 - 再从零开始理解

    bayes公式与机器学习 - 再从零开始理解 从本科时候(大约9年前)刚接触Bayes公式,只知道P(A|B)×P(B) = P(AB) = P(B|A)×P(A) 到硕士期间,机器学习课上对P(B| ...

  5. 《GPU高性能编程CUDA实战》第六章 常量内存

    ▶ 本章介绍了常量内存的使用,并给光线追踪的一个例子.介绍了结构cudaEvent_t及其在计时方面的使用. ● 章节代码,大意是有SPHERES个球分布在原点附近,其球心坐标在每个坐标轴方向上分量绝 ...

  6. ChannelSftp 远程下载目录

    ChannelSftp 并不直接支持远程下载目录, 直接下载, 出现 : not supported to get directory ... 需要自己实现, 我的实现如下: /** * @param ...

  7. 源码编译php5.4 ./configure参数

    ./configure \--prefix=/usr/local/php/5.4 \--with-config-file-path=/usr/local/php/5.4/etc \--with-con ...

  8. 机器学习进阶-图像形态学变化-礼帽与黑帽 1.cv2.TOPHAT(礼帽-原始图片-开运算后图片) 2.cv2.BLACKHAT(黑帽 闭运算-原始图片)

    1.op = cv2.TOPHAT  礼帽:原始图片-开运算后的图片 2. op=cv2.BLACKHAT 黑帽: 闭运算后的图片-原始图片 礼帽:表示的是原始图像-开运算(先腐蚀再膨胀)以后的图像 ...

  9. 机器学习入门-数值特征-连续数据离散化(进行分段标记处理) 1.hist(Dataframe格式直接画直方图)

    函数说明: 1. .hist 对于Dataframe格式的数据,我们可以使用.hist直接画出直方图 对于一些像年龄和工资一样的连续数据,我们可以对其进行分段标记处理,使得这些连续的数据变成离散化 就 ...

  10. java自定义抛出的异常Exception

    package com.zhanzhuang.exception; public class CustomizeException { public static void main(String[] ...