最近在做1个高并发的项目,用户群一般在1W人左右同时上线,如果使用tomcat运转,是负载不起的,那么可以通过什么方式去打到一个负载的平衡呢?
对于操作数据库的读写也过于频繁,可以通过什么方式去优化或者解决的呢?
希望各位大神能够积极回答,最好是能详细解答。灰常感谢
基于楼主的问题, 实现高并发, 可以从两个角度来考虑。
第一个角度是优化接口逻辑, 降低接口响应时间。 可以借助一些工具分析每一步的耗时, 这样就知道哪块可以优化。 通常的做法是使用缓存来挡流量。
第二个角度就是扩容机器, 具体扩容多少机器可参考单台机器最大支持的并发量。
接口优化了,机器也扩容了, 后面需要做的就是按照既定的目标对系统进行压测, 压测不光是看自身系统能不能支持这么高的qps, 还要看底层的db, 下游的接口是否能支持。如果db不支持, 可考虑进行主从分离, 分库分表; 如果下游接口不支持需要给下游接口沟通让其扩容。
这个没有一个很严格的说法,基本就是负载均衡,数据库读写分离,缓存,能减少io的地方就减少,比如用上jms等一些组件,内容方面有压力可以考虑CDN加速,只有到真实的环境中才能知道该采用什么样的方案
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。