一、IO模型介绍1、阻塞与非阻塞指的是程序的两种运行状态阻塞:遇到IO就发生阻塞,程序一旦遇到阻塞操作就会停在原地,并且立刻释放CPU资源非阻塞(就绪态或运行态):没有遇到IO操作,或者通过某种手段让程序即便是遇到IO操作也不会停在原地,执行其他操作,力求尽可能多的占有CPU2、同步与异步指的是提交任务的两种方式:同步调用:提交完任务后,就在原地等待,直到任务运行完毕后,拿到任务的返回值,才继续执            
                
         
            
            
            
            1、把代码部署到现网后,厂商进行数据推送测试。
发现一个问题,就是EOF问题。
百度后,从问题表现看,是文件流不完整。
但是,为什么文件流会不完整了。
于是,进行了一系列的排查工作。
首先想到的就是,并发量太大,导致,接口响应不过来,服务主动断开请求,导致流损坏。
于是,我把接口里面的MySQL写入逻辑给注释掉,这样,从而提升接口性能
再次测试
发现,还是有EOF问题。
于是,开始排查性            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-25 00:05:32
                            
                                170阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            最初开发目的是做一个axios请求并发的控制功能。后来发现其他场景可能也有类似需要控制并发的需求,于是将此功能其抽离成公共的类,在需要的场景使用。实现步骤思考1:如何让一个事件处于等待执行的状态?立马想到的就是 Promise、async、await思考2:需要记录哪些状态来实现?        ①最大并发数            
                
         
            
            
            
            #####先简单说一下CALayeriOS 的动画都是基于 CALayer 的,每个UIView都对应有一个CALayer。 所以修改UIView的属性所呈现的动画都是CALayer实现的。CALayer不能响应事件。下图是UIView和CALyer的关系 
    #####iOS中可以实现动画的方式,有不对的地方敬请指正 1. UIView动画 ``` //Duration 动画持续时间 //            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-13 15:55:56
                            
                                166阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、背景针对老项目,去年做了许多降本增效的事情,其中发现最多的就是接口耗时过长的问题,就集中搞了一次接口性能优化。本文将给小伙伴们分享一下接口优化的通用方案  二、接口优化方案总结1.批处理批量思想:批量操作数据库,这个很好理解,我们在循环插入场景的接口中,可以在批处理执行完成后一次性插入或更新数据库,避免多次 IO。//for循环单笔入库
list.stream().forEatch(msg-            
                
         
            
            
            
            电脑卡是什么原因该怎么办?电脑刚买的时候还没有装什么软件用起来感觉速度很快,但是在用过一段时间之后,就会感觉自己的电脑突然变得很慢。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2013-09-06 16:44:01
                            
                                288阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 使用Spring Boot和Redis解决性能变慢的问题
在现代软件开发中,性能是一个不可忽视的重要因素。随着用户量和数据量的增加,系统的响应速度可能会变得缓慢,导致用户体验下降。本文将探讨如何通过使用Spring Boot结合Redis来解决性能变慢的问题,并给出一个实际的案例。
## 1. 问题背景
在我们一个简单的电商平台中,用户查询产品信息的操作非常频繁。如果每次查询都要从数据库            
                
         
            
            
            
            引言在探究 Kafka 核心知识之前,我们先思考一个问题:什么场景会促使我们使用Kafka? 说到这里,我们头脑中或多或少会蹦出异步解耦和削峰填谷等字样,是的,这就是 Kafka 最重要的落地场景。异步解耦:同步调用转换成异步消息通知,实现生产者和消费者的解耦。想象一个场景,在商品交易时,在订单创建完成之后,需要触发一系列其他的操作,比如进行用户订单数据的统计、给用户发送短信、给用户发送邮件等等。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-22 10:07:14
                            
                                319阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本文深入讲解了前端处理大规模接口并发请求的八大核心策略,包括请求合并、节流防抖、缓存            
                
         
            
            
            
            如何解决高并发
在当今互联网时代,高并发是一个普遍存在的问题。如何有效地解决高并发是每个开发者都需要面对的挑战之一。在本文中,我将向你介绍通过Kubernetes(简称K8S)来解决高并发的方法。
一、整体流程
下表展示了解决高并发问题的整体流程:
| 步骤 | 描述 |
| ---- | ---- |
| 1 | 部署Kubernetes集群 |
| 2 | 创建Pod和Service            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-15 11:33:38
                            
                                149阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            背景:近日发现后台服务器有个问题,用户存在重复注册的问题,由于使用第三方账户的授权和登录,有的用户会在网络不好的情况下,多次点击登录授权,因此会造成多次访问提交。采用先向服务器发送ajax网络请求,检查是否有重复注册账户,通过返回的值判定,是登录还是注册;由于手机会因为网络或者内存的问题,导致页面卡顿、缓慢,用户多次点击发送请求,因此会发生多次创建账户的问题。目的:1、清除数据库中重复的数据;2、            
                
         
            
            
            
            作者:会炼钢的小白龙 一、SpringBoot中异步请求的使用1、异步请求与同步请求            特点:可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如长时间的运算)时再对客户端进行响应。一句话:增加了服务器对客户端请求的吞吐量(实际生产上我们用的比较少,如果并发请求量很大的情况下,我们会通过nginx把请求负载            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-19 17:12:39
                            
                                291阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            什么是RESTREST 全称是 Representational State Transfer(表述性状态转移),它是 Roy Fielding 博士在 2000 年写的一篇关于软件架构风格的论文。许多知名互联网公司开始采用这种轻量级 Web 服务,大家习惯将其称为 RESTful Web Services,或简称 REST 服务。REST 本质上是使用 URL 来访问资源的一种方式。总所周知,U            
                
         
            
            
            
             1. 背景1.1. 惊人的性能数据 最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。 事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高性能的压缩二进制编            
                
         
            
            
            
            上周公司里发生了一件怪事,就是我们自己系统的注册接口被人恶意频繁访问最后导致该服务不可用,该注册接口是输入电话号码然后获取验证码注册,有人用遍历的方法无限重试验证码,最终服务没抗住挂掉了。更怪的是查到这个人的ip竟然是自己内部的公网ip,大概是有人闲的无聊了在搞怪,没办法,又不能封了ip,那样大家都访问不了了。 So,今天有空研究了一下关于如何解决api接口高并发的问题,在此记录一下。&            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-13 19:28:53
                            
                                376阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # 线程并发查询 MySQL 数据速度变慢的解析
在现代应用程序的设计中,充分利用多线程以提升性能是常见的做法。特别是在处理数据库操作时,开发者往往希望通过并发查询来加快数据的访问速度。然而,实际应用中却常常会遇到“线程并发查询 MySQL 数据速度变慢”的现象。本文将深入探讨这一问题的成因,并提供代码示例以便理解。
## 1. 理解 MySQL 查询的基本机制
在理解并发查询速度的影响因素            
                
         
            
            
            
            Node可以在不新增额外线程的情况下,依然可以对任务进行并发处理 —— Node.js是单线程的。它通过事件循环(event loop)来实现并发操作,对此,我们应该要充分利用这一点 —— 尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。 node单线程实现高并发原理 众所周知nodejs是单线程            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-10-20 16:57:00
                            
                                459阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            ## Redis 如何解决并发竞争
Redis 是一个开源的内存数据存储系统,广泛用于缓存、消息队列和会话管理等多种场景。随着业务的发展,Redis 在高并发环境下的性能和功能就显得尤其重要。本篇文章将深入探讨 Redis 如何在并发竞争中保持数据的完整性和一致性,包括常见的并发控制策略和代码示例。
### 1. 并发竞争的概念
在软件开发中,并发竞争通常是指多个线程或进程同时访问共享数据,            
                
         
            
            
            
            不管你的编程语言是Python、Java、Go,还是PHP、Ruby等,你对Redis应该都比较熟悉的。Redis在国内各大公司都很热门,比如阿里、腾讯、字节跳动、百度、美团、小米等,因为Redis优异的性能和方便的操作,redis号称支持并发11万读操作、并发8万写操作。大部分程序员工作中都用到了redis,可是我工作了这么多年发现,身边的程序员,尤其是经常写业务代码的程序员,在实际工作中只会简            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-15 17:17:40
                            
                                87阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            如何解决Maven速度慢            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-08 16:32:41
                            
                                439阅读