Java架构-高并发的解决方案( 八 )
上面提到的数据库集群由于在架构、成本、扩张性方面都会受到所采用DB类型的限制 , 于是我们需要从应用程序的角度来考虑改善系统架构 , 库表散列是常用并且最有效的解决方案 。 我们在应用程序中安装业务和应用或者功能模块将数据库进行分离 , 不同的模块对应不同的数据库或者表 , 再按照一定的策略对某个页面或者功能进行更小的数据库散列 , 比如用户表 , 按照用户ID进行表散列 , 这样就能够低成本的提升系统的性能并且有很好的扩展性 。 sohu的论坛就是采用了这样的架构 , 将论坛的用户、设置、帖子等信息进行数据库分离 , 然后对帖子、用户按照板块和ID进行散列数据库和表 , 最终可以在配置文件中进行简单的配置便能让系统随时增加一台低成本的数据库进来补充系统性能 。
8. 小结
网站架构的整个演变过程主要是围绕大数据和高并发这两个问题展开的 , 解决方案主要分为使用缓存和多资源两种类型 。 多资源主要指多存储(包括多内存)、多CPU和多网络 , 对于多资源来说又可以分为单个资源处理一个完整的请求和多个资源合作处理一个请求两种类型 , 如多存储和多CPU中的集群和分布式 , 多网络中的CDN和静态资源分离 。 理解了整个思路之后就抓住了架构演变的本质 , 而且自己可能还可以设计出更好的架构 。
推荐阅读
- 我的世界|我的世界:Java种子新出炉,内陆蘑菇岛算什么,这些种子它不香?
- Java|Java 地位不保,落后已成定局 ?| 10月编程语言排行
- Java|Lombok 简单方便,为什么有些公司不让用?
- 英特尔|落后台积电、AMD?英特尔推新CPU架构,7nm芯片将提升60%
- 麒麟9000|麒麟9000终于发布了,颇为遗憾的是它采用了落后一代的架构
- AMD|ZEN 3架构的5600X处理器发布,3600用户需要换吗?
- AMD|AMD正式发布ZEN3架构锐龙5000系列!游戏性能爆增,全面领先无短板
- AMD|AMD Ryzen 5000系列发布!全新ZEN3架构,苏妈这次有点飘了
- 芯片|麒麟9000跑分全球首曝光!芯片架构被确认:性能媲美A14?
- 芯片|一波未平一波又起!美企收购芯片核心架构,国产半导体雪上加霜!