第67期Java笔记:解决多线程和高并发问题、和对分布式的理解

在分布式应用程序的开发中,应用程序应该是分层的,每一层应该是相互独立的,并通过服务或接口调用,这不仅方便了开发管理,而且有利于应用程序在其他平台上的集成。

多线程和高并发性问题的解决。

首先,多线程高并发的瓶颈是什么?

1.。这可能是因为服务器网络带宽不够。

2.。web线程连接数可能不足。

3.。也许数据库连接查询不会上升。

4.。数据生成、脏读等。

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

2)负载均衡、前端代理服务器nginx、Apache等。

3)数据库查询优化、读写分离、制表等。

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

5)使用Hibernate等工具优化数据库查询语句,减少直接生成语句的数量(只优化耗时的查询)。

6)尽量减少对可使用静态页面的容器的解析(生成静态html以尽可能多地显示动态内容)。

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

ii.。对分配的理解。

在分布式应用程序的开发中,应用程序应该是分层的,每一层应该是相互独立的,并通过服务或接口调用,这不仅方便了开发管理,而且有利于应用程序在其他平台上的集成。实现了功能模块的重用和重用,提高了应用程序的可扩展性。在大量业务数据的情况下,还应考虑构建一个分布式数据库系统,该系统可以通过DBMS自动管理数据订阅、分发技术来实现数据库数据的同步,从而达到数据共享的目的;

简单地说,将一个庞大的系统按照服务功能或表示层、中间层和数据层划分为多个系统,然后通过Activemq等消息队列中间件在各个系统之间进行消息通信。然后,您可以同时使用分布式数据库和缓存。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181015A02X6N00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券