老板要求双十一自己的私有云部署怎么解决java中的高并发请求
作为脱离天猫和JD的厂家,老板自己搞了个商城,宠用用品的客户还是蛮多的,这个属于新型行业,
没有找外包公司做,直接自己请了5个人,做了6个月,去年10月份上线,开始时候 BUG满地都是,各种SDK的边界问题层出不穷,虽然用的是SPRING 全家桶,但是数据没有特别的规范,造成后来接口问题频出。尤其是高并发这块,很多问题。
根据项目经验总计如下:
Java 中的高并发一般方法解决如下:
使用线程池:使用线程池可以避免线程频繁创建和销毁的开销,从而提高系统的吞吐量和性能。
优化数据库访问:通过数据库连接池、数据库读写分离、使用索引等方式来优化数据库访问,从而减少数据库的压力。
缓存数据:使用缓存技术, 我们用的Redis 等,在项目中提高访问速度和系统性能。
使用MQ消息队列: 将请求异步化处理,提高系统的吞吐量和性能。
分布式架构:加载AWS云部署布式架构可以将负载分散到多台服务器上还可以。
技术部的总结
使用并发集合类:Java 提供了各种并发集合类,如 ConcurrentHashMap、ConcurrentLinkedQueue 等,可以在多线程环境下安全地操作集合。
使用锁和同步机制:Java 提供了多种锁和同步机制,如 synchronized、ReentrantLock 等,可以保证多线程环境下的数据安全。
使用线程池:使用 Java