社区
高性能WEB开发
帖子详情
大并发接口开发
JJYY0088
2017-06-13 11:36:44
比如用WebApi开发一个业务接口,客户端调用这个接口上传数据 并 返回 操作结果提示,由于客户端(营业点)很多,每天提交的数据了是非常大(没有具体,假设)。服务器/DB会卡死。
问下大家有什么好的高性能优化方案(从软件考虑)?
注意:上传数据后 还要 返回操作结果
...全文
5185
25
打赏
收藏
大并发接口开发
比如用WebApi开发一个业务接口,客户端调用这个接口上传数据 并 返回 操作结果提示,由于客户端(营业点)很多,每天提交的数据了是非常大(没有具体,假设)。服务器/DB会卡死。 问下大家有什么好的高性能优化方案(从软件考虑)? 注意:上传数据后 还要 返回操作结果
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
verejava
2018-07-27
打赏
举报
回复
高并发接口开发 VereRPC 微分布式远程调用框架
http://www.verejava.com/?id=1756827901192
你好毒你好毒
2018-04-12
打赏
举报
回复
最好采用消息队列,只要保证数据最终的一致性就好,如果对数据的持久化要求不高直接存缓存采用lru清除机制保证热点数据就好,反之存数据库,如果数据压力过大而且不计成本的话,可以采用某个字段做一致性hash分多库的的方式,再细一点可以按日期或月进行分表,当然了分库分表的策略很多,任意选就好,如果还要保证接口的高可以用可以做分布式部署,前面加个nginx做反向代理和负载均衡
menghaipeng
2018-03-21
打赏
举报
回复
从简单方面入手,比如说借鉴executor多线程框架里面的处理方式,用多任务异步去执行,返回一个友好提示。数据库写入瓶颈,那得从数据库优化入手了,也可以用MQ异步写入减轻并发写入的压力。不是简单一两句说得清楚的。感觉分布式是最好的方式,但是带来的问题也多。
架构师的修行
2018-03-20
打赏
举报
回复
分布式部署,负载均衡处理,问题面有点大
架构师的修行
2018-03-20
打赏
举报
回复
引用 2 楼 inrtyx 的回复:
不能等处理完结果才响应客户端。不然处理太慢的话,连接一直挂在那边。
看看能不能异步处理
liangtu
2018-03-05
打赏
举报
回复
接收和处理分开。
qswtyn
2017-12-13
打赏
举报
回复
把这个上传做成单独的服务 有自己业务单元和数据库、缓存等,数据库可考虑分库,定期写,避免锁表时间过长
I_AM_ROOT__
2017-11-26
打赏
举报
回复
负载均衡貌似解决不了问题 题主的问题集中在 : 高并发导致服务器/DB卡死。 你说的卡死模棱两可,到底是服务器卡死还是DB卡死? 如果是服务器卡死那就负载均衡了,但是根据题主所说的 “由于客户端(营业点)很多每天提交的数据了是非常大” 我猜想并不是服务器卡死 而是高并发导致不优秀的DAO层算法导致了每个并发的锁表时间太长 才导致的“卡死” 那么问题就到了高并发导致数据库卡死的解决方案: 使用缓存,定期写库 优化算法,异步提交
ying1234
2017-11-25
打赏
举报
回复
提交数据以文件形式上传,放在不同目录下,(每个营业点有自已唯一编号),上传成功,对于客户端来说就已经是提交数据成功了。服务端有个程序不停地扫描目录,读取文件写入数据。有可能数据格式不对,导入数据库失败,有个日志表记录成功或失败信息,供客户端查询上传的数据结果. 上传服务器目录成功时,向日志表写一条数据,记录数据状态为“待导入”,如果导入数据库失败,更写状态为导入失败,能查看失败原因,导入成功,才能整个流程成功,更写数据状态为"上报成功"
hzz1988
2017-11-24
打赏
举报
回复
我们现在做的千万级接口服务,用的是开源dubbo
31737951
2017-11-24
打赏
举报
回复
1. 事务相关的分布式数据库 2. 非事务相关的异步 + 队列 kafka,rocksdb,redis等
安优小青和他的程序生活
2017-09-19
打赏
举报
回复
基本上提高并发性能的策略就是: 同步变异步 使用索引 使用缓存 部署多服务器,以空间换时间
xiaotuni
2017-09-19
打赏
举报
回复
可以试试,队列呢
airwolf1217
2017-09-05
打赏
举报
回复
把数据库分为读库和写库,然后在空闲时候同步其数据(同步数据的速度非常快,这你不用担心) 把数据库水平分库(按照表的大小分)和垂直分库(按照业务分),加索引,分析索引是否真能提高性能,不用外键,加上缓存。 耗时主要耗在读写数据库上,内存操作还是很快的
安优小青和他的程序生活
2017-09-04
打赏
举报
回复
上传数据 是 上传一个文件,然后服务器 读取这个文件再处理吗? 还是说客户端实时的同步的提交一些数据给服务器? 这个场景还是有必要 具体描述的
Keson168
2017-08-09
打赏
举报
回复
之前遇到跟类似情况,针对当时的数据库瓶颈,是优化了接口操作数据库的逻辑代码,降低事务中sql锁表的时间,拆分了部分表
青年卫大师
2017-08-09
打赏
举报
回复
方案很多 具体看要达到什么级别的
JScala
2017-07-06
打赏
举报
回复
接口方面:同步请求异步响应,禁止阻塞 数据处理方面:使用缓存机制,定期写库
Jcon_
2017-07-06
打赏
举报
回复
服务器接口可以建立成分布式的,增加缓存服务器。客户端提交请求到接口(分布式),接口从缓存中拿数据,然后再到数据。我现在公司的方案也是这样的。
tianfang
2017-07-04
打赏
举报
回复
还有就是接口使用长连接技术,系统间采用单个TCP连接,减少系统开销。
加载更多回复(5)
Windows下基于socket多线程
并发
通信的实现
Socket
接口
是TCP/IP 网络最为通用的应用
接口
,也是在Internet 上进行网络程序应用
开发
最通用的API[1],本文介绍了Socket通信的基本机制以及采用多线程技术实现
并发
通信的基本原理,并给出实例。
JAVA_API1.6文档(中文)
java.awt.im.spi 提供启用可以与 Java 运行时环境一起使用的输入方法
开发
的
接口
。 java.awt.image 提供创建和修改图像的各种类。 java.awt.image.renderable 提供用于生成与呈现无关的图像的类和
接口
。 java.awt....
JDK8 中文帮助文档(jdk api 1.8 google.CHM)
这个文档集合,尤其是"jdk api 1.8_google.CHM",是JDK8的中文API(应用程序
接口
)帮助文档,它是
开发
者日常
开发
中的重要参考资料。 **1. Lambda表达式** JDK8引入了Lambda表达式,这是一种简洁的函数式编程特性,...
c#+多年积累的类库(非常全)
随着技术的发展,C#的生态系统已经积累了大量的类库,这些类库极大地丰富了其功能,提高了
开发
效率。本资源“c#+多年积累的类库(非常全)”集合了作者在多年
开发
过程中整理的各种实用类库,涵盖XML操作、文件操作、...
Java聊天室毕业设计完整版+数据库
7. **
并发
控制与同步**:在多线程环境下,为了保证数据的一致性和避免竞态条件,需要合理使用synchronized关键字、Lock
接口
以及
并发
容器。 8. **设计模式**:良好的软件设计通常会采用设计模式,如工厂模式用于创建...
高性能WEB开发
25,980
社区成员
4,366
社区内容
发帖
与我相关
我的任务
高性能WEB开发
高性能WEB开发
复制链接
扫一扫
分享
社区描述
高性能WEB开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章