`

分享一位网友的架构杂谈

 
阅读更多

不容类型的网站,并发处理不一样,例如针对sns这种类型的网站,用户并发量是大,

但是对于事务事务要求不高,所以可以依靠分布式缓存,分布式服务来缓解并发

如果并发量大,现在前端很多都是做集群。  

前端可以使用nginx反向代理,或是lvs,后端对应多个应用服务器 

高并发的处理主要还得靠架构解决,mvc框架解决不了 

nginx和lvs有什么区别: 对后端应用的负载不一样,我公司最高pv时是2000多万,使用2台nginx,没有问题 

进行网络推广时,统计一天最高pv2000万,服务基本正常。查询缓存命中率都比较高

 

如果真的是特别大的并发,想淘宝高活动时,基本依赖于硬件的负载均衡如F5Networks

nginx是可以针对静态资源做缓存,主要是读取数据以缓存为主,并且传输时进行压缩,效率不差

nginx做负载均衡就是实现一个反向代理,将请求分发给后端的应用服务器,所以会缓解并发的压力。但是毕竟是软件

 

以读缓存为主的之前是memcache,现在是redis,memcache不支持持久化,功能、性能都不如redis

缓解写并发可以使用mq,kestrel等队列

 

对于后台这种并发量小的事务使用最基本的都行,就算在方法上加sinchronized对于电商下单一天下个10万单都没问题。

如果并发量大,就要把事务核心部分提取出来,使用异步消息来处理附加功能

如淘宝为了把事务并发做到最大化,并订单表分到了10台数据库服务器上,并且每台服务器还拆分了10张表

而且他把买家和卖家订单查询都分开了

我上面说的redis主要是应对读缓冲的情况,如果不是读缓存,对数据库io压力就会过大

 

分享到:
评论

相关推荐

    程序设计经验杂谈-给予帮助

    这份“程序设计经验杂谈”文档,据说是出自一位大师之手,无疑为我们提供了宝贵的洞见。在本文中,我们将探讨几个关键的程序设计经验,希望能对你在编程旅程中提供一些帮助。 首先,我们来谈谈问题解决策略。在编程...

    软件工程历史杂谈-杨东屏

    - **Ada Lovelace**:作为Babbage分析机的第一位程序员,被认为是世界上第一位女性程序员,她的贡献对软件工程领域有着深远的影响。 通过以上概述可以看出,软件工程从最初的构想到今天的发展历程经历了多次重大...

    java学习杂谈

    ### Java学习杂谈:深入解析Java的动态加载机制、类搜索原理及JDK与JRE的区别 #### 动态加载机制解析 Java的学习者往往在掌握面向对象编程(OOP)概念时,会...这对于每一位Java开发者而言,都是不可或缺的知识财富。

    ODOO与软件工程杂谈 作者秋风流云

    ODOO是一个开源的ERP(企业资源规划)和OA(办公自动化)系统,它采用前后端分离的架构,前端基于JavaScript,而后端可以使用多种语言如C#、Java或Python进行开发。 在前端设计上,ODOO对JavaScript库进行了封装,...

    QA培训资料——非常全面

    1. **以客户为关注焦点**:始终将客户的满意度放在首位。 2. **领导作用**:各级领导创建并维护员工可以充分参与的环境。 3. **全员参与**:员工是组织之本,他们的充分参与能够为组织带来收益。 4. **过程方法**:...

    深入理解JVM内存结构及运行原理全套视频加资料.txt

    JVM是Java知识体系中的重要部分,对JVM底层的了解是每一位Java程序员深入Java技术领域的重要因素。本课程试图通过简单易懂的方式,系统的深入讲解JVM相关知识。包括JVM执行过程、虚拟机类加载机制、运行时数据区、GC...

    JAVA面试题解惑系列

    继承允许类之间的层次结构,多态提供了代码的灵活性,重载是同一类中方法名称相同但参数列表不同的方法,重写是子类对父类方法的再次实现。 10. **多线程**: 多线程编程是Java的一个强项,面试中可能会讨论线程的...

    Lect02-LaTeX进阶1

    在LaTeX中,创建和管理文档结构是至关重要的,这包括设置标题、作者、日期以及章节结构。本节主要介绍了如何使用LaTeX进行这些高级操作。 首先,声明文档的基本信息,如标题、作者和日期。这通常在文档的导言区完成...

    中华姓氏文化.pptx

    从古代的母系社会到父系社会,再到战国时期,姓氏经历了从单一到复杂的转变,反映了社会结构和制度的变化。 一、姓名的时代烙印 姓名不仅是个人的标识,更是历史的印记。自伏羲时期开始,姓氏制度逐渐形成,伏羲被...

    Java面试题详解,和一些基础知识的深入剖析,个人认为非常棒

    “JAVA面试题解惑系列(九)——继承、多态、重载和重写”是面向对象编程的基础,继承允许类之间的层次结构,多态提供了一种“一个接口,多种实现”的灵活性,而重载和重写则涉及到方法签名和行为的差异。...

    Go学习笔记

    Go语言,也被称作Golang,是一种开源的编程语言,由Google开发,设计团队主要成员包括Robert Griesemer、Rob Pike和Ken Thompson,这三位都是在计算机科学领域具有深厚背景和丰富经验的专家。Go语言的设计初衷是为了...

    JAVA面试题解惑系列合集

    Java中的运算符包括算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符等。它们在代码中的使用频率非常高,需要熟练掌握它们的使用和优先级。 这些知识点在Java开发和面试中是非常常见的,掌握这些内容对于...

    CodeWarrior

    - **iostream状态位**:解释了iostream的状态位,以及如何检查这些状态位来判断输入输出操作是否成功。 - **文件信息获取**:介绍了如何获取文件的信息,如大小、位置等。 - **iostream定制**:探讨了如何根据需要...

    19.叉车-2014.zip

    标题中的“19.叉车-2014.zip”表明这...对于工程师来说,这样的模型可以帮助他们在设计阶段就发现潜在问题,优化结构,并在实际生产前进行虚拟验证。对于教育者和学生,它提供了一种直观学习机械构造和设计原理的方式。

    04 ANSYS电磁场2D分析帮助中文版.pdf

    ANSYS是一款强大的多物理场仿真软件,广泛应用于电磁场分析。本指南主要关注其在2D磁场分析中的应用,适合初学者和进阶用户参考。文档包含命令流代码,便于深入理解和实践。 **第一章 磁场分析概述** 1.1 磁场分析...

    浅谈C语言数据与内存分配空间和地址的联系

    - **带符号整型**:对于一个2字节(16位)的`signed int`类型,其值域为-32768到32767。 - **无符号整型**:对于同样大小的`unsigned int`类型,其值域则是从0到65535。 需要注意的是,整型数据在内存中的存储形式...

    数据科学理论与方法

    通过对消费者的购买历史和其他相关信息进行分析,企业可以使用多项逻辑回归模型来预测每位消费者最有可能属于哪个细分市场,进而制定相应的营销计划。 ### 结语 通过以上分析可以看出,《数据科学理论与方法》教材...

    STM32F103C8T6最小系统板资料

    1. **Cortex-M3内核**:32位RISC架构,运行频率最高可达72MHz。 2. **内存配置**:内置64KB闪存,20KB RAM,提供足够的程序存储和数据处理空间。 3. **外设接口**:包括多个USART、SPI、I2C通信接口,多个定时器,...

Global site tag (gtag.js) - Google Analytics