首页 > 其他分享 >看过来!商城系统的三高(高并发、高性能、高可用)了解一下!

看过来!商城系统的三高(高并发、高性能、高可用)了解一下!

时间:2022-10-13 19:00:09浏览次数:46  
标签:三高 系统 并发 高性能 高可用性 CPU 商城

随着各大互联网公司业务需求的快速增长,业务架构已经不是一个新鲜词。业务的快速发展、业务量的持续增长、业务场景的日益复杂和差异化、业务需求的不断变化,都对平台架构和系统设计的演进提出了更多的挑战和更高的要求。架构师在设计系统时要考虑到业务功能的实现,保证系统的高并发性和高可用性。

下面就带大家了解什么是高并发?什么是高性能?什么是高可用?

1、商城高并发(High Concurrency)

看过来!商城系统的三高(高并发、高性能、高可用)了解一下!_架构师

图片来自互联网,如有侵权联系删除

商城高并发是互联网分布式系统架构设计中必须考虑的因素之一。通常意味着通过设计,系统可以同时并行处理许多请求。高并发性的一些常用指标是响应时间、吞吐量、每秒查询数(QPS)、并发用户数等。

如何提高并发性?一方面要提升单机硬件性能(优先):比如增加32核等CPU核数、升级万兆等更好的网卡、升级SSD等更好的硬盘、扩展2T等硬盘容量、扩展128G等系统内存。另一方面,要提高单机架构的性能:比如用缓存来减少IO次数、用异步来增加单业务吞吐量、用无锁数据结构来减少响应时间。

2、商城高性能(High Performance)

看过来!商城系统的三高(高并发、高性能、高可用)了解一下!_高可用性_02

图片来自互联网,如有侵权联系删除

什么是商城高性能?商城高性能意味着程序处理速度很快,占用内存小,CPU利用率低。高性能指标通常与高并发指标密切相关。要提高性能,就要提高系统的高并发能力,两者是捆绑在一起的。

在应用性能优化时,计算密集型和IO密集型还是有很大区别的,需要分开考虑。还可以增加服务器数量、内存、IO等参数,提高系统的并发和性能,但不要浪费资源。应该考虑硬件的最高利用率,以便将其最大化。

CRMEB Pro版是CRMEB研发的一款高性能私域营销电商系统,系统采用Tp6 + Swoole+redis高性能框架开发,基于异步事件驱动和协程的并行网络通信引擎,充分利用了底层的epoll / kqueue实现网络事件请求处理;通过 Swoole协程异步处理数据,高效解决了PHP高并发处理问题!

怎么样提高商城性能呢?

避免因IO阻塞导致CPU闲置,造成CPU浪费。

避免在多个线程之间添加锁来确保同步,从而导致并行系统的串行化。

避免创建、销毁和维护过多的进程和线程,导致操作系统在调度上浪费资源。

3、商城高可用(High Availability)

看过来!商城系统的三高(高并发、高性能、高可用)了解一下!_架构师_03

图片来自互联网,如有侵权联系删除

商城高可用性通常用于描述系统经过专门设计,以减少停机时间并保持其服务高度可用(始终可用)。

实现高度可用的互联网应用和服务是一项非常具有挑战性的任务。每个架构师可能对高可用性有不同的理解,对于许多架构师来说,高可用性意味着没有单点服务故障、冗余数据备份以及在架构设计中避免单点。

三高(高并发、高性能、高可用)问题是每个程序员毕生都在追求解决的问题,也是行业密切关注的问题,任何一点突破,都会给行业带来一定的影响。总之,探索永无止境,吾辈仍需努力!

标签:三高,系统,并发,高性能,高可用性,CPU,商城
From: https://blog.51cto.com/u_15723831/5754540

相关文章

  • java并发之synchronized
    java实现同步互斥访问有两种方式,synchronized和Lock。Sychronized是java实现的内置锁,由jvm实现。通过编译Synchronized代码块为字节码可以发现,加锁逻辑被翻译为monitorent......
  • 基于 Impala 的高性能数仓实践之物化视图服务
    本文将主要介绍NDHImpala的物化视图实现。接上篇,前两篇分别讲了执行引擎和虚拟数仓,它们是让一个SQL又快又好地执行的关键。但如果某些SQL过于复杂,比如多张大表进行......
  • Java并发编程学习5-对象的组合
    对象的组合前面的博文,我们已经了解了关于线程安全和同步的一些基础知识。本篇博文将介绍一些线程安全的组合模式,来帮助我们确保使用这些模式开发的程序是线程安全的。1.......
  • MySQL——MVCC--多版本并发控制机制
    前言以下的分析均在mysql的InnoDB引擎下。假设此时事务A与事务B同时执行。一、定义:MVCC(Multi-VersionConcurrencyControl,多版本并发控制)一种并发控制机制,在数据库中用......
  • MySQL——并发insert on duplicate key update遇见死锁
    前言数据库死锁问题,是一个老生常谈且很常见的问题,网上也有非常多对于各类死锁场景的解析和复现,但凡和死锁有关,无外乎不涉及数据库隔离等级、索引、以及innodb锁等相关原因......
  • java并发之volatile
    java并发围绕原子性、可见性和有序性展开。volatile可以保证可见性。在说volatile前,需要了解几个概念。1、JMM(javamemorymodel)JMM是个抽象的概念,他是java对底层操作系......
  • Java并发(线程状态、线程调度、线程同步)
    Java并发(线程状态、线程调度、线程同步)线程状态​ 线程共有5种状态,在特定情况下,线程可以在不同的状态之间切换。5种具体状态创建状态:实例化一个新的线程对象,还未启......
  • Java并发(进程、线程、多线程,使用)
    Java并发(进程、线程、多线程,使用)进程和线程定义进程:进程是计算机正在运行的一个独立的应用程序。线程:线程是组成进程的基本单位,可以完成特定的功能,一个进程是由一个......
  • 第四章学习笔记——并发编程(20201217王菁)
    并发编程  在早期,大多数计算机只用一个处理组件,称为处理器或中央处理器(CPU)。并行算法是一种计算方法,它会尝试使用多个执行并行算法的处理器更好地解决问题。并行计算......
  • 初识并发问题
    packagedemo1;//多个线程同时操作一个对象,线程不安全,数据紊乱publicclassTestThread4implementsRunnable{privateintticket=10;@Overridepubli......