开发者社区> 问答> 正文

java如何应对高并发操作?

最近在做1个高并发的项目,用户群一般在1W人左右同时上线,如果使用tomcat运转,是负载不起的,那么可以通过什么方式去打到一个负载的平衡呢?
对于操作数据库的读写也过于频繁,可以通过什么方式去优化或者解决的呢?
希望各位大神能够积极回答,最好是能详细解答。灰常感谢

展开
收起
落地花开啦 2016-05-27 18:50:33 2598 0
2 条回答
写回答
取消 提交回答
  • 基于楼主的问题, 实现高并发, 可以从两个角度来考虑。
    第一个角度是优化接口逻辑, 降低接口响应时间。 可以借助一些工具分析每一步的耗时, 这样就知道哪块可以优化。 通常的做法是使用缓存来挡流量。
    第二个角度就是扩容机器, 具体扩容多少机器可参考单台机器最大支持的并发量。

    接口优化了,机器也扩容了, 后面需要做的就是按照既定的目标对系统进行压测, 压测不光是看自身系统能不能支持这么高的qps, 还要看底层的db, 下游的接口是否能支持。如果db不支持, 可考虑进行主从分离, 分库分表; 如果下游接口不支持需要给下游接口沟通让其扩容。

    2019-07-17 19:18:38
    赞同 展开评论 打赏
  • 喜欢技术,喜欢努力的人

    这个没有一个很严格的说法,基本就是负载均衡,数据库读写分离,缓存,能减少io的地方就减少,比如用上jms等一些组件,内容方面有压力可以考虑CDN加速,只有到真实的环境中才能知道该采用什么样的方案

    2019-07-17 19:18:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载