1.顶层设计:
按需,预期未来,规划企业架构
业务全局出发,制定可落地的架构方案
技术选型,难题解决规划
方案与代码,广度与深度
技术+管理
2.关键词:分布式,高并发,高性能,高可用,高扩展,松耦合,高内聚,可复用,边界,安全,成本,规模等
往下:服务,缓存,消息,搜索,调度,任务,数据,监控,配置,网关等等
具体理论:paxos,cap,base,acid,raft,rpc,reactor,sla,slb等
3.调优技术关键词:
缓冲(buffer):解决速度不匹配的问题,从应用层访问内核层io的时候,一种方式是按照字节一个一个传递过去,另一种就是中间有个buffer,消息队列也属于buffer,批量计算,消费掉缓冲的字节之后没用了,一般是解决速度不匹配的问题
缓冲(cache):页缓存,提升慢速io的过程,消费掉缓存的字节之后还是有用的,一般是复用的数据,更新频率比较小的数据
复用(pool):常量池,数据库连接池,线程池,享元模式,资源复用,对象池,提升性能
分治(sharding):分片集群方式,es,kafka,主从复制,降低复杂度,
亲密(黏性sticky):
权衡(balance or trade-off):
4.性能指标词汇:
QPS(queries per second):二八定律
TPS(transactions per second):一个tps可以包含若干qps
RT(resposen-time):响应时间
PV(page view):
UV(unique visitor):
并发数:
线程数:多少个线程,两个态(挂起态,运行态,有相应的状态时间)
5.架构演变:
单体应用:tomcat+mvc+db,访问量大了加连接池,数据库大了分表分库,分治+缓存
然后在tomcat前面加负载均衡lvs,遇到的问题:session共享,解决方法:可以运用session共享,也可以将固定的用户粘性到固定的tomcat
soa:理论
esp:企业服务总线,拆的粒度比较粗
微服务:拆的比较细
坐标模型:
横轴加机器,主从主备:可用性
纵轴:基于业务拆分,可扩展,按照业务,高内聚,低耦合,性能提高,