《大型分布式网站架构设计与实践》读书笔记

一、面向服务的体系架构(SOA),分布式服务框架设计:阿里巴巴Dubbo

基于TCP的RPC(远程过程调用):如基于java的Socket API。序列化方式:java的outputstream ,Hessian,google的Protocal Buffers

基于HTTP的,序列化方式:JSON,XML。两种URL链接风格:RESTful和RPC
基于ZooKeeper的服务配置中心搭建。核心:消费者--查询-->服务配置中心<--注册--服务提供者
负载均衡算法。
http服务网关,网关集群



二、分布式系统基础设施

分布式缓存memcache:先装libevent,再装memcache。演变:分布式session
持久化存储:
    mysql:dual-master配置( 个人觉得:不如keepalive做一主两从),master写压力主要通过分库分表。但缺点是:关联查询,跨表查询上升为分布式事务,迁移不便
    HBase
    Redis(Key-value数据库)
消息系统:activeMQ,kafka,memcacheQ。ActiveMQ & JMS 。两种模式:P2P,Pub/Sub

垂直化搜索引擎:Lucene,Solr



dg

非对称加密RSA,数字签名,数字证书,
摘要认证:取决于对称secret
签名认证:用非对称公/私钥对
OAuth

检测机制
网络层:ping -c 2 www.123.com
应用层:运行curl访问目标机check.html
业务检测:curl -L www.host.com
系统压测:qps,rt两个指标   qps=(总PV*80%) / (60*60*24*20%)   再除以  单台qps最高值
流量控制:

原子性(Atomic)
一致性(Consistency)
隔离性(Isolation)
持久性(Durability)

可用性
一致性:强一致性,弱一致性,如mysql的主从数据同步,Zookeeper的选举和原子广播
扩展性:
高并发:有种方案,把单行库存拆成多行 ,比如1000个,拆成五个2000个

前端工具:YSlow
性能测试工具:
ab:ApacheBench
JMeter:
HP LoadRunner
TCPCopy:请求复制工具,将在线流量复制到TEST

性能优化:
前端:
减少http请求数量:合并样式和脚本
是否使用CDN网络
使用压缩

java端:
单例,
Future模式,
线程池:ExecutorService exec=Executors.newFixedThreadPool(5)
选择就绪:
减少上下文切换
降低锁竞争

java常用工具
jps,jstat,jinfo,jstack,jmap,btrace,jconsole,mat

数据分析
inotify、
ActiveMQ-CPC
架构和存储
Chukwa

离线数据分析:
hadoop
mapreduce
hive

流式数据分析
Storm

数据同步
离线数据同步:sqoop进行mysql与nosql对导
实时数据同步:ActiveMQ

数据报表:Highcharts
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大型分布式网站架构设计实践》主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定性保障和海量数据分析等内容;深入地讲述了大型分布式网站架构设计的核心原理,并通过一些架构设计的典型案例,帮助读者了解大型分布式网站设计的一些常见场景及遇到的问题。 作者结合自己在阿里巴巴及淘宝网的实际工作经历展开论述。《大型分布式网站架构设计实践》既可供初学者学习,帮助读者了解大型分布式网站的架构,以及解决问题的思路和方法,也可供业界同行参考,给日常工作带来启发。 作者简介 陈康贤,淘宝花名龙隆,淘宝技术部研发工程师,2011年加入淘宝网,参与了阿里云手机商城、口碑网迁移、店铺建站、offer、支付宝卡宝、生活商城、淘宝同学等项目,在分布式系统架构设计、高并发系统设计系统稳定性保障等领域积累了较为丰富的实践经验。曾在程序员上发表过《漫谈基于http协议的SOA架构》《浅析HTTP平台的安全稳定性架构》两篇文章,对基于HTTP协议的SOA架构有深入研究,在排查解决线上问题和故障方面有丰富的实践经验,擅于利用数据分析解决实际问题,对新技术有浓厚的兴趣。 目录 第1章 面向服务的体系架构(SOA) 1 1.1 基于TCP协议的RPC 3 1.1.1 RPC名词解释 3 1.1.2 对象的序列化 4 1.1.3 基于TCP协议实现RPC 6 1.2 基于HTTP协议的RPC 9 1.2.1 HTTP协议栈 9 1.2.2 HTTP请求与响应 15 1.2.3 通过HttpClient发送HTTP请求 16 1.2.4 使用HTTP协议的优势 17 1.2.5 JSON和XML 18 1.2.6 RESTful和RPC 20 1.2.7 基于HTTP协议的RPC的实现 22 1.3 服务的路由和负载均衡 30 1.3.1 服务化的演变 30 显示全部信息 前言 在大型网站架构的演变过程中,集中式的架构设计出于对系统的可扩展性、可维护性以及成本等多方面因素的考虑,逐渐被放弃,转而采用分布式架构设计分布式架构的核心思想是采用大量廉价的PC Server,构建一个低成本、高可用、高可扩展、高吞吐的集群系统,以支撑海量的用户访问和数据存储,理论上具备无限的扩展能力。分布式系统设计,是一门复杂的学问,它涉及到通信协议、远程调用,服务治理,系统安全、存储、搜索、监控、稳定性保障、性能优化、数据分析、数据挖掘等各个领域,对任何一个领域的深入挖掘,都能够编写一本篇幅不亚于本书的专门书籍。本书结合作者在阿里巴巴及淘宝网的实际工作经历,重点介绍大型分布式系统架构设计,同时,为避免过度专注于理论而使得内容显得空洞,作者穿插介绍了很多实践的案例,尽量让每一个关键的技术点都落到实处,相信能够帮助读者更好地理解本书的内容。 内容大纲 全书共5章,章与章之间几乎是相互独立的,没有必然的前后依赖关系,因此,读者可以从任何一个感兴趣的专题开始阅读,但是,每一章的各个小节之间的内容是相互关联的,因此,最好按照原文的先后顺序阅读。 第1章主要介绍企业内部SOA(Service Oriented Architecture,即面向服务的体系结构)架构的实现,包括HTTP协议的工作原理,基于TCP协议和基于HTTP协议的RPC实现,如

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值