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

一、面向服务的体系架构(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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值