阅读 - NineF/Atlantis GitHub Wiki
大型网站系统与Java中间件实践
这本书主要介绍了Java中间件相关,比较系统的介绍了在如今的中间件的架构与组成, 在数据访问层方面,除了传统的jdbc,odbc.还介绍了在分布式系统中如何对数据的处理, CAP/BASE理论,如何做到保证系统的可靠性,一致性和分区容错性,还有在数据库事务处理方面, 如何做到分布式事务.
将一个集中式大型系统分解成服务化是如今大多数系统的选择,rpc的三个部分注册中心,服务提供者, 服务消费者,这三者一同保证了整个服务的正常运行,Alibaba的dubbo是个很好的参考框架,同时,Java的网络框架netty也是必须了解的
消息中间件做为分布式系统中解耦和异步工作的存在,它将系统之间的耦合度降到了最低,系统不必了解其他的系统的运行方式,只需要指定 消费消息.消息中间件一般会有两张方式,一种是peer-to-peer,点到点的通信,这种方式是一个组所有的消费者共同消费同一个队列,每个消息只能 消费一次.还有一种就是订阅式,这种每个消费者都会接收到订阅后的消息.但是还有中更好的方式,就是将两个共同使用,先采用订阅式,让每个组都能接受到所有的消息,然后 在另一端采用PTP方式,这样就能实现同一个组能消费同一个组数据,kafka就是采用这种方式.(可以看一下jms规范)
在大型系统中,服务的配置往往是在一个负载中心中集中配置的,它能自行判断服务的注册和移除,并在服务之间调度.了解度很低.后面看了其他书再写
书中还介绍了cdn,搜索系统,发布系统,监控系统,依赖管理系统等,但是都比较浅显.可以在涉及到相关系统的设计的时候看一下