《大型网站系统与Java中间件实践》又是淘宝牛人的杰作。本书从分布式基础概念讲起,介绍了网络发展过程中网站建设面临各种技术瓶颈及带来的网站架构设计的一般演变过程,包括JAVA中间件的设计及使用。淘宝牛人一如既往通过结合淘宝实际工作经验,理论结合实际,对读者而言,通俗易懂,又能积累一定经验,在实际工作中有了方向、方法。值得大家去阅读!
这次试读章节有点少。
第2章大型网站及其架构演进过程:讲述了大部分网站技术架构的演变过程。
一个大型网站简单特性:大数据量+高并发访问+稳定性+安全性
对于早期网站架构,经典之作:LAMP:LINUX+APACHE+MYSQL+PHP,LAMP对现在的中小网站依旧是不错的解决方案。
从JAVA角度而言,早期架构:JSP/Servlet+jdbc
应用服务层:
早期:单服务器(应用程序+数据库+文件等处于同一台服务器)
面临瓶颈:
访问量增加导致性能越来越差,数据库存储空间不足等问题。解决方向:服务应用与数据分离,根据不同角色,配置相应性能服务器。
架构演变2:单机负载告警,数据库与应用分离
应用与数据分离后,根据不同角色配置相应的服务器。如应用服务器高访问量,CPU要求较高;数据库服务器:数据检索、数据安全,对硬盘读取,硬盘容灾要求较高。这样网站的并发处理能力得到很大改善。
面临瓶颈:
用户访问量增加,单台应用服务器处理能力有限,造成大面积延时,用户体验差。解决方向:缓存;应用服务器集群;
架构演变3:通过集群改善网站的并发能力
负载均衡+集群形式方式,能够通过增加服务器形式扩展网站性能,提高了网站的可伸缩性。
在这个过程中,我们通常会遇到的问题:
session的管理
1. session sticky:类似单机情况,同一Session的请求通过负载均衡发送到相同的应用服务器,保证有效性。问题:当一台服务器宕机时,session会失效,用户需重新登录。
2. Session 复制:服务器之间通过负载均衡实现session复制,每一台服务器都实现session同步。解决了1的情况。问题:增加服务器和网络的大量资源,系统性能下降。在大型网站情况下不太适用。
3.Session数据集中存储:独立部署服务器统一管理Session,解决了session赋值带来的内存和网络资源问题,实现应用的状态分离。如可实现单点登录等。大型网络较好的解决方案。
4.Cookie Based: 通过cookie来传递session数据。问题:cookie大小有限,cookie传递的安全性,对网络资源占用较大。
架构演变4:分布式服务化应用 SOA
将应用按功能拆分成不同的系统,进行分布式集群部署,构建可扩展网络架构。如网站拆分成用户系统、订单系统、商品系统。
系统之间通信问题:dubbo,MOM
依赖关系问题
数据库方面
数据库方面优化:
1、读写分离
通过数据库本身提供的备份功能,保证主库和备库数据的一致性。如MySQL 5.5 中加入了对semi-sync 的支持;如Oracle的Data Guard 方案。然后把数据写到主库,带事务的读操作也在主库;不带事务的读操作可以考虑到备库中读取。
广义而言,应用也可如此操作以提高并发性能。如搜索引擎,通过对原有数据的索引、整理,建立一个读库。技术:lueuce
2、分布式存储
常见的分布式存储系统有分布式文件系统、分布式Key-Value 系统和分布式数据库。过集群提供了一个高容量、高并发访问、数据冗余容灾的支持。应用服务器通过DAL层访问数据库集群;如淘宝的cobar
带来的问题:分布式事务问题;不同数据库关联查询问题
3、专库专用,数据垂直拆分
把数据库中不同的业务数据拆分到不同的数据库中。
带来的问题:垮业务的事务操作,1)分布式事务解决 2)去事务
缓存:Memcached等,这里就不介绍了^_^
相关推荐
希望读者通过《大型网站系统与Java中间件实践》可以了解大型网站架构变迁过程中的较为通用的问题和解法,并了解构建支撑大型网站的 Java 中间件的实践经验。对于有一定网站开发、设计经验,并想了解大型网站架构和...
《大型网站系统与Java中间件实践》围绕大型网站和支撑大型网站架构的 Java 中间件的实践展开介绍。从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构...
《大型网站系统与Java中间件实践》围绕大型网站和支撑大型网站架构的 Java 中间件的实践展开介绍。从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构...
《大型网站系统与Java中间件实践》围绕大型网站和支撑大型网站架构的 Java 中间件的实践展开介绍。从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构...
《大型网站系统与Java中间件实践》围绕大型网站和支撑大型网站架构的 Java 中间件的实践展开介绍。从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构...
《大型网站技术架构:核心原理与案例分析》与《大型网站系统与JAVA中间件实践》这两本书是深入探讨现代互联网企业级应用开发的关键资源。它们涵盖了构建和优化大规模网站所需的诸多核心技术,包括分布式系统、Java...
《大型网站系统与Java中间件实践》围绕大型网站和支撑大型网站架构的 Java 中间件的实践展开介绍。从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构...
《大型网站系统与Java中间件实践》围绕大型网站和支撑大型网站架构的 Java 中间件的实践展开介绍。从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构...
《大型网站系统与Java中间件实践》是一本深入探讨如何构建和优化大型互联网系统的书籍,主要聚焦于Java技术栈和中间件的实践应用。通过阅读这本书,我们可以了解到一系列关键的技术概念和最佳实践,这些对于任何想要...
《大型网站系统与JAVA中间件实践》,pdf扫描版,非常清晰(几乎和文字版一样)。已经切边(去除四周的空白处),适合在kindle上阅读。竖屏可以,横屏更好(字号变大)。 书籍介绍: 《大型网站系统与Java中间件实践...
大型网站系统与JAVA中间件实践-高清完整版,大型网站系统与JAVA中间件实践-高清完整版。
### 大型网站系统与Java中间件实践 #### 一、大型网站系统概述 大型网站系统是指能够处理海量用户访问、高并发请求以及大规模数据存储的互联网应用系统。这类系统通常具备以下特点: 1. **高并发性**:能够同时...
《大型网站系统与JAVA中间件实践》是一本深入探讨如何在大规模互联网环境中运用JAVA技术的专著。本书针对JAVA中间件在构建复杂、高可用、高性能的大型网站系统中的应用进行了详尽阐述,旨在帮助读者理解和掌握JAVA在...
《大型网站系统与Java中间件实践》是一本深入探讨如何构建和优化大型网站系统的专业书籍,特别适合高级工程师阅读。本书全面涵盖了Java中间件技术在构建高性能、高可用性、可扩展性的大型网站中的应用。Java中间件是...
《大型网站系统与JAVA中间件实践》是曾宪杰撰写的一本深入探讨Java中间件在构建大规模网站系统中的应用的著作。这本书详细介绍了如何利用Java技术栈解决在开发和运维大型网站过程中遇到的各种挑战,旨在帮助读者理解...