《大型网站系统与JAVA中间件实践》读书笔记

来源:互联网 发布:googlenet tensorflow 编辑:程序博客网 时间:2024/05/24 20:07

书名:《大型网站系统与JAVA中间件实践》

作者: 淘宝 曾宪杰

读书目的:初步了解分布式系统

主要内容:此书以淘宝某些系统为原型,以淘宝某些网站的演进为引子,主要介绍了Java中间件,消息中间件,数据层应用层的分布式处理。

从系统的演进可以一窥分布式系统的发展与进化:

单机系统--> 应用与数据库分机--> 数据库读写分离--> 分布式存储的引入--> 数据的水平垂直拆分--> 应用的分布式部署--> 应用服务化。

在我看来,无非是三种方式去解决大型网站遇到的问题:1,拆应用。2,拆数据库。3,优化应用及应用间的交互

1. 拆应用:有两种拆法,一个是水平扩展,即将应用部署在多台机器上,要解决的实现难点是session的同步时间同步问题分布式事务处理。另一个是按功能垂直拆,一个个模块都独立部署,这样一个个模块又都是一个新系统,又可以将它们做水平扩展。

2. 拆数据库:也有两种拆法,一个是水平,另一个是垂直。拆数据库明显比拆应用难的多,一方面要解决技术难题,另一方面要优化代码。要解决的问题也都很棘手。

a) 跨库事务的处理 (提交协议:两阶段提交、Paxos协议)

b) 跨库多表的查询

c) 查询的分页及排序

d) 同表跨库的sequence 问题

3. 优化应用及应用间的交互:一般优化应用的方法有像引入cache模型、cache系统;引入NOSQL;引入分布式文件系统;引入多线程处理等。另一种方式是优化其之间的交互,引入消息中间件,构建一些Java中间件更好的支持多系统的交互等。

扩展阅读:Java的多线程编程。Java NIO。负载均衡器的了解。分布式事物。JMS。NOSQL。

总结:是一本较入门的书,很多东西并没有太深入,但面也算全。适合做为一本分布式的入门书来读。

张小半仙原创:http://blog.csdn.net/yanginnerpeace/article/details/44558357



0 0
原创粉丝点击