《大型网站系统与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中间件开发实践 - 曾宪杰.mobi 带目录、书签、超清文字版
在构建大型网站系统时,Java中间件扮演着至关重要的角色,它们是系统架构中的关键组件,为高效、可扩展和稳定的运行提供了基础。本实践主要探讨了如何利用Java中间件来构建高性能、高可用性的互联网服务。以下是相关...
【大型网站系统与Java中间件实践读书笔记(二)】 大型网站系统是指处理海量数据、应对高并发访问、以及应对复杂业务逻辑的网络应用。在这些系统中,Java中间件扮演着关键角色,帮助实现系统的扩展性和高效运行。...
《大型网站与Java中间件实践》一书,由阿里巴巴资深工程师曾宪杰倾力撰写,深入探讨了大型网站从初期发展到复杂系统演进的历史,以及在这个过程中中间件的重要角色。书中详细阐述了如何利用各种中间件技术来解决大型...
《大型网站系统与Java中间件开发实践》是一本深度探讨现代互联网系统构建的书籍,尤其针对使用Java技术栈的企业级应用。这本书详细介绍了如何通过合理的架构设计和高效的中间件技术来构建可扩展、高可用、高性能的...
《大型网站系统与java中间件实践》读书笔记ppt分享,纯自己用心编写,同时也给同事做了分享,不过当时很多自己讲的内容没有备注进去
《大型网站系统与Java中间件实践》的第一章主要介绍了分布式系统的基础知识,包括其组成、线程与进程的执行模式、网络通信基础知识以及如何将应用扩展到分布式环境,并探讨了分布式系统中的一些难点。 1.1 初识...
《大型网站系统与JAVA中间件实战》是一本深入探讨如何构建和优化大型互联网应用的书籍。本书主要聚焦于JAVA技术栈在大型网站系统中的实际应用,涵盖了诸多关键技术和中间件,旨在帮助读者理解和掌握构建高性能、高...
标题《大型系统的Java中间件实践-曾宪杰,淘宝》和描述《InfoQ大会上淘宝的Java中间件ppt。非常有用的资料。对于理解分布式系统的架构非常有用。》表明本次分享的主题是关于淘宝在InfoQ大会上的一个关于Java中间件...
《Java中间件实践指南》是一本深度探讨Java技术在大型网站系统中应用的专业书籍。它主要面向那些希望深入了解和掌握Java中间件技术的开发者、架构师以及系统管理员。书中涵盖了一系列核心的Java中间件技术,旨在帮助...
从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构变迁;接着讲述构建 Java 中间件的相关知识
《JAVA中间件技术及其应用开发》是一门深入探讨Java中间件技术及其实现方法的课程。这门课程的课件涵盖了从基础理论到实践应用的多个方面,旨在帮助学习者全面理解并掌握Java在企业级服务中的核心角色。以下是根据...
《精通Java中间件编程》源代码.doc,《精通Java中间件编程》源代码.doc,《精通Java中间件编程》源代码.doc,《精通Java中间件编程》源代码.doc,《精通Java中间件编程》源代码.doc,《精通Java中间件编程》源代码.doc,...
Java中间件是构建大型分布式应用程序的关键组成部分,它们提供服务、管理资源、处理并发以及实现其他高级功能。在Java开发环境中,正确配置中间件是确保系统性能、稳定性和可扩展性的基础。以下是一些关于"JAVA...
它主要探讨了在构建大型网站系统时,如何有效地利用各种Java中间件技术来提高系统的性能、稳定性和可扩展性。Java中间件是软件工程中一个重要的概念,它包括了一系列为应用程序提供服务和支持的组件,如消息队列、...