资源描述
,Company Logo,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,后台架构设计,浅谈后台架构设计,后台架构设计之我见,毕业于 浙江大学 电子信息工程,任职经历,深圳华为技术有限公司 中央软件院,北京趣拿软件科技有限公司(去哪儿网)机票事业部,腾讯科技(深圳)有限公司,SNG,即通应用部,众安在线财产保险股份有限公司 金融技术部,吴隆烽,架构是一种平衡的艺术,1 基本能力(抽象,估算,tradeoff),2 设计原则,KISS 大系统小做 有状态无状况 逐步演进和演化,3 整套解决方案,可扩展,协议 性能,可用性及容灾,部署 监控 安全,4 评估,敏捷性 易于部署 可测性 性能 可伸缩 6 易于开发,5 康威定律,6 业务架构-应用架构-技术架构,分层,事件驱动,-,状态机,微内核,微服务,SOA与,微服务,分布式服务组成的系统,按照业务而不是技术来划分组织,做有生命的产品而不是项目,Smart endpoints and dumb pipes,自动化运维(DevOps),容错,快速演化,分布式之一 :方法论,1 CAP(NRW),2 BASE,3 SOA服务化,职责单一,边界清晰,开闭,4 拆,分布式之二:一致性,强一致,弱一致,最终一致,强同步,半同步,异步,补偿和最终一致,重试和幂等,一致性中心,一致性算法(paxos,raft,zab),分布式之三:事务,分布式事务最好的解决方案就是不考虑事务,分布式之三:事务,两阶段提交,VS,三阶段提交,1、引入超时机制。同时在协调者和参与者中都引入超时机制。,2、在第一阶段和第二阶段中插入一个准备阶段。保证了在最后提交阶段之前各参与节点的状态是一致的。,分布式之三:事务,本地事件表,or,消息事务,+,最终一致,分布式之三:事务,TCC,分布式之四:服务治理,01 服务注册与发现,02 软负载均衡与容错,03 服务监控与统计,04 服务容量评估,05 服务上线审批,06 服务下线通知,07 服务路由,08 服务编排,09 服务黑白名单,10 服务调用链跟踪,11 服务自动测试,12 服务伪装容错,13 服务使用情况报告,14 服务权重动态调整,15 服务负载均衡调整,16 服务健康检测,17 服务自动部署,18 服务资源调度,19 服务降级,20 服务等级协定,负载均衡,LVS,NGINX,HAPROXY,L5,ZK,F5,哈希(一致性哈希),Smart Client,高可用(HA),1 可用性(N个9),2 高可用mysql,3 高可用redis,4 failover,failfast,failsafe,failback,forking,broadcasting,5 VIP,VRRP,6 zookeeper,8 WAL,9 replication&elect,10 限流控流,1 频率限制,12 重试雪崩,高性能(HP),1 性能指标,2 影响性能因素,3 缓存,4 同步,异步,协程,5 多进程VS多线程,6 线程模型,7 从单机到多机(分片&读写分离),8 压测,9 错峰,10 硬件(SSD,RAID,DRBD),11 程序优化,12 池化,13 锁优化&zero copy,14 批量和延迟写入,15 静态化,16 网络,17 预处理,18 推送之读写扩散,19 队列,20 操作系统,21 数据库优化,海量服务,容灾,1 备份,2 过载保护(及时拒绝),3 解耦,4 降级,5 两地三中心(热备,冷备,温备),6 同城多活-异地多活,7 流量切换,8 重试,防雪崩,9 柔性可用,监控,监控指标,统一日志搜集,监控,跟踪,报警,立体监控,部署,独立迭代,独立生命周期,灰度,蓝绿,服务器容量评估,服务资源动态调配,扩容缩容,机房,同城,异地,,IDC,安全,ddos,sql注入,xss,csrf,dns劫持,json hack),网络,感悟,1 学习技术的方式,2 基本功,多线程并发编程 网络(io,nio,netty)linux 内核 数据结构和算法 mysql memcache/redis,3 软实力(沟通,组织,领导),4 架构师境界,以工程思维全面理解业务需求,基于模型和基础模式抽象简化,提出恰当可行的整体解决方案,在限定资源范围完成明确目标,满足业务需求且保证系统质量,在可预见的周期内具备扩展性,并在系统生命周期内持续演进,推荐,JDK,源码(netty,spring,tddl,mycat,nginx,redis,kafka,dubbo,RocketMQ,HSF,zookeeper,mysql,kilim),TCP/IP,HTTP,linux命令&linux内核(源码),搜索引擎,大数据(hadoop,spark,storm),云技术(openstack,docker,Kubernetes,mesos,公有私有混合),前端(requirejs,angularjs,vue),Thanks,!,
展开阅读全文