A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一、多线程和高并发问题解决

首先要了解多线程高并发的的瓶颈在哪里?

1、可能是服务器网络带宽不够

2.可能web线程连接数不够

3.可能数据库连接查询上不去。

4.数据产生脏读等

1)增加网络带宽,DNS域名解析分发多台服务器。

2)负载均衡,前置代理服务器nginx、apache等等

3)数据库查询优化,读写分离,分表等等

4)尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能。

5)优化数据库查询语句,减少直接使用hibernate等工具的直接生成语句(仅耗时较长的查询做优化)。

6)能使用静态页面的地方尽量使用,减少容器的解析(尽量将动态内容生成静态html来显示)

7)避免产生脏读可以设置事务的隔离级别和java代码或数据库加锁。

二、对分布式的理解

分布式应用程序的开发,要对应用程序进行分层,各层之间相互独立,通过服务或接口来进行调用,不仅便于开发的管理,也有利于集成其他平台上的应用程序,实现了功能模块的复用、重用,提高了应用程序的可扩展性。在业务数据量多的情况下,还要考虑构建分布式的数据库系统,这可以通过DBMS自动管理的数据订阅、分发技术实现数据库的数据同步,以达到数据共享的目的;

简单来说就是将一个庞大的系统按照服务功能或者表示层,中间层,数据层细化,划分成多个系统,然后各个系统之间通过消息队列中间件比如activemq进行消息通讯。然后再搭配使用分布式数据库和缓存。


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马