首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏架构专题

    没有预热,不叫并发,叫并发

    大家都知道,并发系统有三把斧子:缓存、熔断和限流。但还有一把斧子,经常被遗忘在角落里,郁郁不得志,那就是预热。 ? 现象举例 先说两个现象。这些现象,只能在并发的系统中出现。 一、DB重启后,瞬间死亡 一个并发环境下的DB,进程死亡后进行重启。由于业务处在高峰期间,上游的负载均衡策略发生了重分配。刚刚启动的DB瞬间接受了1/3的流量,然后load疯狂飙升,直至再无响应。 当服务重新加入集群时,却发生了大量耗时的请求,在请求量的情况下,甚至大批大批的失败。 引起的原因大概可以归结于: 1、服务启动后,jvm并未完全准备完毕,JIT未编译等。 当系统长期处于低水位的情况下,流量突然增加时,直接把系统拉升到水位可能瞬间把系统压垮。

    3.2K21发布于 2019-07-10
  • 来自专栏后台技术底层理解

    redis并发可用

    redis 实现并发主要依靠主从架构,一主多从. 对于性能来说,单主用来写入数据,单机几万QPS,多从用来查询数据,多个从实例可以提供每秒 10w 的 QPS。 如果想要在实现并发的同时,容纳大量的数据,那么就需要 redis 集群, 使用 redis cluster 模式,可以提供每秒几十万的读写并发。 这样也可以很轻松实现水平扩容,支撑读并发。 Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况,所以为了缓解读的压力,所以进行读写分类,并对读进行扩展。 哨兵用于实现 redis 集群的可用,本身也是分布式的,作为一个哨兵集群去运行,互相协同工作。 ==怎么保证redis是并发以及可用的==? sdown 和 odown 转换机制 sdown 是主观宕机,就一个哨兵如果自己觉得一个 master 宕机了,那么就是主观宕机。

    3.2K10发布于 2020-08-04
  • 来自专栏后台及大数据开发

    并发】秒杀系统并发请求排队处理

    今天无意中看见了这位兄弟的文章 通过请求队列的方式来缓解并发抢购(初探)  但文章最后说并发超过500 就会出现超发,看了下代码,的确有这个问题 抽空简单完善了下,经压力测试后发现暂无超发现象, 下面为我的代码 欢迎指正 由于是在windows下测试,并发高了就报错  java.net.BindException: Address already in use  这个初看上去很像端口被占用,其实是因为已经完成请求的

    4K11发布于 2018-08-02
  • 来自专栏全栈程序员必看

    Qt并发

    QtConcurrent是一个命名空间,提供了用于编写并发软件的更高层次的类和算法。该命名空间中有一个重要的类,QThreadPool,这是一个管理线程池的类。

    2.3K20编辑于 2022-09-03
  • 来自专栏CSDN搜“看,未来”

    并发(一)

    ---- 文章目录 取经的地方 曾经,我眼中的并发 如何理解并发 并发系统的设计目标是什么? 宏观目标 微观目标 并发的实践方案有哪些? ---- 曾经,我眼中的并发 真的,我知道我自己写的算不上高并发,很久了。 确实,十万上下的并发量真·算不上高并发。 3、理解片面,把并发设计等同于性能优化:大谈并发编程、多级缓存、异步化、水平扩容,却忽视可用设计、服务治理和运维保障。 ---- 如何理解并发 并发意味着大流量,需要运用技术手段抵抗流量的冲击。那到底多大并发才算高并发呢? 1、**不能只看数据,要看具体的场景。 另外,如果业务场景不同,并发的落地方案也会存在差异,但是总体的设计思路和可借鉴的方案基本类似。 并发设计同样要秉承架构设计的3个原则:简单、合适和演进。

    1.6K40发布于 2021-09-18
  • 来自专栏PHP在线

    大话-并发

    简单理解下并发: 并发是指在同一个时间点,有很多用户同时的访问URL地址,比如:淘宝的双11,双12,就会产生并发,如贴吧的爆吧,就是恶意的并发请求, 也就是DDOS攻击,再屌丝点的说法就像玩撸啊撸被 并发的数据处理: 通过表设计或者SQL语句来防止包并发下的数据错乱问题 通过程序代码防止包并发下的数据错乱问题 ---- 如例子:通过表设计防止并发导致数据错乱 需求点 【签到功能】 一天一个用户只能签到一次 , 签到成功后用户获取到一个积分 已知表 用户表,包含积分字段 并发意淫分析(属于开发前的猜测): 在并发的情况下,会导致,一个用户签到记录会有多条,或者用户签到后不止加一积分 0的时候无法进行抽奖 已知表: 用户表,包含积分字段 奖品表,包含奖品剩余数量字段 并发意淫分析(属于开发前的猜测): 在并发的情况下,会导致用户参与抽奖的时候积分被扣除,而奖品实际上已经被抽完了 在并发接口的设计中可以使用具有并发能力的编程语言去开发,如:nodejs 做web接口 服务器部署,图片服务器分离,静态文件走CDN 并发测试神器推荐 Apache JMeter Microsoft

    2.2K40发布于 2018-03-08
  • 来自专栏Java探索之路

    并发技术

    而大数据也带来的并发的问题. 解决并发问题是大数据时代的永恒主题. 我们假设已经解决并发的问题, 我们可以通过对数以亿计的数据做日志分析 , 从中分析用户行为 ,分析在哪个渠道的用户最具购买力 , 哪个渠道最容易接纳我们的产品. 即: 并发>日志>分析行为>画像>推荐>服务 这便是大数据时代下企业发展之路 ,因此 ,解决并发问题便是关键. 通过相应技术, 解决并发问题 ,为企业节省更多资金 ,有益企业良性发展. 形式的日志以及日志抽样; 支持按指定关键字(域名,url等)收集Tengine运行状态; 组合多个CSS、JavaScript文件的访问请求变成一个请求; 自动去除空白字符和注释从而减小页面的体积 常用并发模型设计 ,而apache 则是阻塞型的,在并发下nginx 能保持低资源低消耗 高性能, 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速 apache 相对于nginx 的优点

    4.4K50发布于 2020-07-27
  • 来自专栏做不甩锅的后端

    什么是并发并发以及实现并发需要考虑的因素

    2.什么是并发 并发(Hight Concurrnet),从字面上来理解就是让单位时间同时处理任务的能力尽可能的。 实际上,从另外一个角度考虑,我们所说的并发,并行已经是其一个子集。 而水平扩展的能力,实际上从另外一个角度来说,并行是提升系统并发能力的重要手段。 那么,既然是并发,那么多高才算高呢? 为了更好的对系统的并发性进行评价,需要对如下指标进行了解: 响应时间:系统对请求做出响应的时间,既然是并发系统,这个响应时间就不可能太长,需要尽可能的短。 上述指标内容,主要是反映了并发系统在高性能上的要求。做为并发系统,需要实现的目标为: 高性能:这体现了系统的并行处理能力,在有限资源的情况下,提升性能能节省成本。

    14.6K12发布于 2021-09-06
  • 来自专栏用户3288143的专栏

    并发并发后端设计你必须要会!

    缓存 缓存比较好理解,在大型并发系统中,如果没有缓存数据库将分分钟被爆,系统也会瞬间瘫痪。使用缓存不单单能够提升系统访问速度、提高并发访问量,也是保护数据库、保护系统的有效方式。

    1.5K30发布于 2020-07-07
  • 来自专栏全栈程序员必看

    Jmeter并发测试_并发测试

    进入后语言是英文的可以选择Options—Choose Language—Chinese(Simplified) 选择左侧TestPlan—添加—线程(用户)—线程组 线程组介绍: 线程数,即为并发请求数量 为0表示并发执行 ramp-Up时间,即为几秒内开启全部线程,可修改 循环次数为1表示所有线程只执行一次。

    2.7K30编辑于 2022-11-19
  • 来自专栏深入理解Android

    并发可用实战

    大型网站系统应有的特点 并发,大流量 并发,大流量:需要面对并发用户,大流量访问。 可用 可用:相对于并发来说,可用并不是一个比较有规律的参数,7*24 是每个网站的梦想,但是你并不知道,在某一刻,他就没理由的宕机了。 并发设计原则 系统设计不仅需要考虑实现业务功能,还要保证系统并发可用、可靠等。 并发化 改串行为并行。 可用设计原则 通过负载均衡和反向代理实现分流。 通过限流保护服务免受雪崩之灾。 通过降级实现部分可用、有损服务。 通过隔离实现故障隔离。 4.业务降级:当并发流量来袭,在电商系统大促设计时保障用户能下单、能支付是核心要求,并保障数据最终一致性即可。

    1.9K20编辑于 2022-06-22
  • 来自专栏Java架构师必看

    并发流量网站架构

    但Web2.0以用户为导向的理念,使得新生的网站有了新的特点——并发流量,数据量大,逻辑复杂等,对网站建设也提出了新的要求。 此类网站可以说是Web2.0概念下的代表网站,具有Web2.0网站所有典型特征:并发流量,数据量大,逻辑复杂,用户分散等等。 但是它的强大有时候却显得笨重,配置文件复杂得让人望而生畏,并发情况下效率不太高。 7 总结及展望 7.1 总结 图6 典型并发流量网站的架构 对于一个并发流量的网站来说,任何一个环节的瓶颈都会造成网站性能的下降,影响用户体验,进而造成巨大的经济损失。 ,公司以及研究机构来关注并发流量的网站架构问题。

    2.6K10发布于 2020-10-23
  • 来自专栏后台技术底层理解

    redis 的并发可用

    redis 实现并发主要依靠主从架构,一主多从. 对于性能来说,单主用来写入数据,单机几万QPS,多从用来查询数据,多个从实例可以提供每秒 10w 的 QPS。 如果想要在实现并发的同时,容纳大量的数据,那么就需要 redis 集群, 使用 redis cluster 模式,可以提供每秒几十万的读写并发。 这样也可以很轻松实现水平扩容,支撑读并发。 Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况,所以为了缓解读的压力,所以进行读写分类,并对读进行扩展。 哨兵用于实现 redis 集群的可用,本身也是分布式的,作为一个哨兵集群去运行,互相协同工作。 怎么保证redis是并发以及可用的? sdown 和 odown 转换机制 sdown 是主观宕机,就一个哨兵如果自己觉得一个 master 宕机了,那么就是主观宕机。

    1.7K00发布于 2020-08-04
  • 来自专栏技术专栏

    慕课网并发实战(一)-并发并发基本概念

    课程网址 并发: 同时拥有两个或者多个线程,如果程序在单核处理器上运行,多个线程交替得换入或者换出内存,这些线程是同时“存在”的,每个线程都处于执行过程中的某个状态,如果运行在多核处理器上, 此时,程序中的每个线程都将分配到一个处理器核上,因此可以同时运行 并发并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,他通常是指,通过设计保证系统能够同时并行处理很多请求 对比: - 谈并发时:多个线程操作相同的资源,保证线程安全,合理利用资源 - 谈并发时:服务能同时处理很多请求(如12306的抢票,天猫双十一的秒杀活动,这会导致系统在短时间内执行大量的操作, 如对资源的请求,数据库的访问),提高程序性能(如果并发处理不好,不光会导致用户体验不好,还可能会使服务器宕机,出现OOM等) ?

    90810发布于 2018-09-12
  • 来自专栏Java那些事

    并发编程学习(1)——并发基础

    并行与并发 ? 并行性和并发性是既相似又有区别的两个概念。 并行性是指两个或多个事件在同一时刻发生。而并发性是指两个或多个事件在同一时间间隔内发生。 如果在计算机系统中有多个处理机,这些可以并发执行的程序就可以被分配到多个处理机上,实现并发执行,即利用每个处理机爱处理一个可并发执行的程序。这样,多个程序便可以同时执行。 要解决上述多线程并发访问一个资源的安全性问题,就需要引入线程同步的概念。 线程同步 多个执行线程共享一个资源的情景,是最常见的并发编程情景之一。 保证并发场景下的线程安全,可以从以下四个维度考量: 维度一:数据单线程可见 单线程总是安全的。通过限制数据仅在单线程内可见,可以避免数据被其他线程篡改。 Doug Lea 在当大学老师时,专攻并发编程和并发数据结构设计,主导设计了 JUC 并发包,提高了 Java 并发编程的易用性,大大推进了 Java 的商用进程。

    52220发布于 2019-11-29
  • 来自专栏后端码匠

    并发编程系列

    并发编程系列(一) High concurrency programming series 对某个对象加锁 public class Ta { /** * synchronized

    52230发布于 2019-10-09
  • 来自专栏Linyb极客之路

    并发之限流

    在开发并发系统时有三把利器用来保护系统:缓存、降级和限流。本文结合作者的一些经验介绍限流的相关概念、算法和常规的实现方式。 缓存 缓存比较好理解,在大型并发系统中,如果没有缓存数据库将分分钟被爆,系统也会瞬间瘫痪。使用缓存不单单能够提升系统访问速度、提高并发访问量,也是保护数据库、保护系统的有效方式。 对于大流量恶意的攻击访问,会带来带宽的浪费,服务器压力,影响业务,往往考虑对同一个ip的连接数,并发数进行限制。ngx_http_limit_conn_module 模块来实现该需求。 1 limit_conn one 1; 然后我们是使用ab测试来模拟并发请求: ab -n 5 -c 5 http://10.23.22.239/index.html 得到下面的结果,很明显并发被限制住了 另外刚才是配置针对单个IP的并发限制,还是可以针对域名进行并发限制,配置和客户端IP类似。

    1.1K20发布于 2018-07-26
  • 来自专栏Clive的技术分享

    并发可用系统设计原则

    并发原则 无状态:应用无状态,配置文件有状态 拆分:系统维度、功能维度、读写维度、AOP维度、模块维度 服务化:进程内服务->单机远程服务->集群手动注册服务->自动注册和发现服务->服务分组/隔离/ 在应用所在机器上部署一组Redis,直接本机读取数据,多机之间主从同步数据)6、分布式缓存(数据量太多,单机存储不了,用分片机制分散流量到多台要,或用分布式缓存实现,常见的分片规则:一致性哈希算法) 并发可用原则 降级:开关集中化管理,推送机制把开关推送到各个应用;可降级的多级读服务;开关前置化;业务降级,并发流量来袭,保障核心业务,保证数据最终一致性即可,可同步改异步,优先处理优先级数据 限流 静态资源版本回滚) 业务设计原则 防重设计:防重key、防重表、记录重复日志后续处理 幂等设计:业务系统重复消息消费幂等处理;第三方支付异步回调幂等处理 流程可定义 状态与状态机:状态设计有状态轨迹·,方便追溯;并发状态修改问题

    1.2K21发布于 2019-03-06
  • 来自专栏Java Web

    并发编程学习(1)——并发基础

    并行与并发 并行性和并发性是既相似又有区别的两个概念。 并行性是指两个或多个事件在同一时刻发生。而并发性是指两个或多个事件在同一时间间隔内发生。 如果在计算机系统中有多个处理机,这些可以并发执行的程序就可以被分配到多个处理机上,实现并发执行,即利用每个处理机爱处理一个可并发执行的程序。这样,多个程序便可以同时执行。 要解决上述多线程并发访问一个资源的安全性问题,就需要引入线程同步的概念。 线程同步 多个执行线程共享一个资源的情景,是最常见的并发编程情景之一。 保证并发场景下的线程安全,可以从以下四个维度考量: 维度一:数据单线程可见 单线程总是安全的。通过限制数据仅在单线程内可见,可以避免数据被其他线程篡改。 Doug Lea 在当大学老师时,专攻并发编程和并发数据结构设计,主导设计了 JUC 并发包,提高了 Java 并发编程的易用性,大大推进了 Java 的商用进程。

    68590发布于 2019-11-29
  • 来自专栏java一日一条

    Java 并发综合

    当时混混沌沌的面试,记下来了一些并发的面试问题,很多还没有回答。到现在也学习了不少并发的知识,回过头来看这些问题和当时整理的答案,漏洞百出又十分可笑。 曾经,我在面试Java研发实习生时最常听到的一句话就是: 搞Java怎么能不学并发呢? 没错,真的是经过了面试官的无数鄙视,我才知道Java并发编程在Java语言中的重要性。 并发模型 悲观锁和乐观锁的理解及如何实现,有哪些实现方式? 部分乐观锁削弱了一致性,但中低并发程度下的效率大大提高。 手动使用Lock实现基于锁的并发控制 7. 手动使用Condition或AQS实现基于条件队列的并发控制 8. 使用CAS和SPIN等实现非阻塞的并发控制 使用不变类 9.

    1.2K30发布于 2018-09-14
领券