为什么要使用锁 加入甲乙同时下单购买商品A,下单前查询库存数量都是15,在下单的时候,甲下单更快,买走了10件。而乙下单时,还是以库存15来判断,这样就会出现数据错误。 在创建订单时候,假设有人和你同时对商品数量进行操作,要保证数据是安全的,可以使用乐观锁。在更新商品数量的时候,需要判断一下还是不是 ...
分类:
其他好文 时间:
2020-04-20 01:27:31
阅读次数:
140
一、Hystrix简介: 我们知道大量请求会阻塞在Tomcat服务器上,影响其它整个服务.在复杂的分布式架构的应用程序有很多的依赖,都会不可避免地在某些时候失败.高并发的依赖失败时如果没有隔离措施,当前应用服务就有被拖垮的风险. Spring Cloud Netflix Hystrix就是隔离措施的 ...
分类:
编程语言 时间:
2020-04-19 19:41:05
阅读次数:
73
前言 这一章节我们将讲解高并发解决方案中的应用拆分思路,也可以称之为系统拆分。单个服务器再优化,它的处理都是有上限的,因此我们采用扩容、缓存、消息队列等对程序进行优化,这些手段都可行,但还不是全部。随着项目的需求要求越来越多,应用自然会跟着越来越大,因此呢,架构师设计出了特别容易扩展的方案,从整体将 ...
分类:
其他好文 时间:
2020-04-19 18:21:17
阅读次数:
72
NoSQL,泛指非关系型的数据库。随着互联网不断的发展,传统的关系数据库在应付新互联网模式的网站,特别是超大规模和高并发的SNS类型的纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数 ...
分类:
数据库 时间:
2020-04-19 12:54:36
阅读次数:
61
本文节选自:MySQL中MVCC的正确打开方式(源码佐证),强力推荐这篇博客 1、MVCC概念 多版本控制(Multiversion Concurrency Control): 指的是一种提高并发的技术。最早的数据库系统,只有读读之间可以并发,读写,写读,写写都要阻塞。引入多版本之后,只有写写之间相 ...
分类:
数据库 时间:
2020-04-19 12:40:41
阅读次数:
121
在性能测试过程中,一旦进行高并发操作时就会出现以下尴尬场景,JMeter客户端卡死、请求错误或是超时等,为了解决这一问题,我们需要将一次大的操作分布在多个服务器上,由多个服务器来承担负载压力。 接下来我们就来看一下如何实现jmeter的分布式并发: 需要在负载机上配置jdk环境和jmeter环境 首 ...
分类:
其他好文 时间:
2020-04-18 15:29:10
阅读次数:
77
分布式和集群 目前的项目很少会采用单机架构了,一是因为单机性能有限,二是因为单机服务一旦故障整个系统就无法继续提供服务了。所以目前集群和分布式的架构使用得很广泛,主要就是为了解决上述两个问题,一个性能问题,一个故障问题,通过分布式架构解决性能(高并发)问题,通过集群架构解决故障服务(高可用)问题。 ...
分类:
数据库 时间:
2020-04-18 09:38:46
阅读次数:
230
码云代码仓库:https://gitee.com/tanjiajun/MysqlPool 代码仓库:https://github.com/asbectJ/swoole4.git 前言 在写这篇文章之前,看了好几篇实现连接池的文章,都是写的很不好的。摆明忽略了连接池的很多特性,很多都不具有抗高并发和连 ...
分类:
数据库 时间:
2020-04-17 22:02:57
阅读次数:
75
1.项目中缓存是如果使用的?缓存如果不使用会造成什么后果? 最近项目:案件信息,登录后cms信息,人员信息等作缓存处理, 不使用?查询太慢,体验差,;高峰的时候,数据库连接(4-5千的请求?)承载不了造成奔溃 2. 为啥用缓存?、 作高性能,高并发 高性能:比如之前每次查询都要去连接数据库查询个六百 ...
分类:
其他好文 时间:
2020-04-17 00:47:20
阅读次数:
67
1、redis高并发跟整个系统的高并发之间的关系 redis,你要搞高并发的话,不可避免,要把底层的缓存搞得很好 mysql,高并发,做到了,那么也是通过一系列复杂的分库分表,订单系统,事务要求的,QPS到几万,比较高了 要做一些电商的商品详情页,真正的超高并发,QPS上十万,甚至是百万,一秒钟百万 ...
分类:
其他好文 时间:
2020-04-17 00:10:21
阅读次数:
57