架构设计是一门艺术,对架构的掌握要通过多看,多学,多交流,多积累,从实战架构上总能吸收到很好的营养,这边书虽然
(一).hadoop技术处理电信行业的上网日志
根据上网的url或未知url爬取内容,进行分类,根据模型统计出个人喜好,从何精准营销。
经典hadoop应用分层:
接口层:负责与外部数据的交换
数据层:分布式大数据处理平台
资源层:类似ISSA,实现对物理资源的自动部署和动态扩展
功能层:流程,调度,监控,元数据管理,安全等
应用层:词库分类,分类索引,负责应用功能的具体算法
展示层:web展示应用层处理的结果
网络爬虫:爬去url中的内容
(二).Hadoop平台在金融银行业的应用架构
在核心系统层,增加hadoop平台实现历史数据存储备份、对外提供数据查询、基于存储提供数据挖掘
(三).优酷hadoop平台开放
主要是安全和开放,安全包括访问安全(查看数据,hdfs权限)和用户安全(用户身份)
开放:规范、流程管理、监控(节点、资源利用率、异常分析、用户存储配额、调度队列)
(四).推荐平台
包括实时接入、实时计算、cache分布式存储、离线计算平台、运营平台
四个关键部分:
a:实时接入:管道作用,接入数据,分发给计算平台
b:流式计算:关注业务特点,业务场景而非平台架构
c:存储引擎:写主读备
d:推荐引擎:接入、分法计算、真正计算
(五).社交网络大数据挖掘与社会化推荐
推荐系统发展:
协同过滤算法CF-->推荐引擎-->item based-->二度好友-->社会化推荐
社会化推荐引擎构成:
好友推荐模型的几个关键算法:
二度好友-->好友簇-->好友圈演化趋势预估-->好友接受率模型-->多图谱融合
(六).微博用户兴趣建模
用户兴趣的三个方面:兴趣标签、兴趣词、兴趣分类
实时系统抽取兴趣词,离线挖掘优化
实时抽取:
微博内容-->分词、分类-->按微博ID存入redis-->超出范围按userID合并-->非活跃用户利用历史redis和实时redis中的同一用户数据在内存中完成合并
离线挖掘:
减少实时抽取的噪声,通过计算单词的上下文相似性来获得词的相似性,通过词的相似性建立图挖掘的一边,相似度越大,图越密集,进而有效识别噪声,挖掘出用户真正的兴趣。
(七)小米移动应用网络建设和优化
1.移动应用网络的挑战:
基于电波传送信号不稳定;移动网络尚不成熟;
2.不同类型移动网络速度:
3.小米应对措施:
建设CDN或动态加速节点,源站和节点之间可以通过广域网直接对接,也可以通过速度好的中继节点;用户请求重转;通过TCPXM抓包分析链路质量,进而分析;
持续优化:不断修改IP库,地域性联通问题大可考虑拉专线,基于http协议做协议转换
(八)西门子系统架构管理概念
系统架构全生命周期:
(九)构建高性能、稳定SOA应用
基于消息队列解耦;流程间按子任务,任务间用消息队列异步获取输入或输出结果,达到任务间并行的目的,其实只是同时处理,从某一个完成流程来看,其还是顺序的,而且效率是有影响的。
(十)基于开源技术的网络安全架构
OSSIM系统组成:各类安全设施、代理进程Agent、传感器、关联引擎、数据仓库、web控制台
数据包通过的路径:
网卡硬中断--->软中断--->内核协议栈--->系统调用--->socket接口--->libpcap接口--->用户应用程序
(十一)TOGAF应用架构设计落地
业务架构关键:组织机构、业务功能、业务流程
业务功能靠业务流程实现,业务流程由业务步骤组成,业务步骤由组织机构单元承担
应用架构关键:功能和系统,系统是IT功能的承载者。
应用架构建新一代系统工作主线:
业务功能--->业务流程--->业务步骤--->区分全手工半自动全自动业务步骤--->功能分组映射系统,找出IT功能点--->设计IT系统
(十二)分布式系统安全设计解决
数组签名确保完整性,对传递的信息进行加解密确保私密性。
(十三)淘宝TFS
1.写入完成后回向client返回一个由集群号、block id、file id组成的文件名,方便client通过该文件名访问存储的文件。
2.服务端不会立刻删除文件,先打上标记,当删除超过一定比例,在低峰期再进行删除,同时对block进行整理。
3.tfs支持利用tair分布式存储将block的位置信息缓存,以便减轻nameserver的访问压力。
4.tfs自持通过metaserver的映射关系实现用户自定义文件名;
5.tfs支持将大文件分散成小文件(2M),然后将多个小文件的名称作为新的文件数据存储到TFS,读取时根据此新文件的特殊名称标识知道此乃大文件,于是读取启动的小文件名,在从TFS里读出各分片数据,重新组合成大文件。
6.机房容灾:机房独立集群,集群间同步(通过dataserver在后台线程重放日志)保证数据互为镜像。
7.多机房多主集群部署方式,可以通过一定配置规则如blockid的奇偶性来分开写,然后对其他机房彼此同步
8.TFS将所有资源信息存储在mysql的数据库里,通过资源管理服务器rcserver进行统一管理。
(十四)内存作为统一存储实实践
对微博之类的社交类,基础内存做信息同步的三种模式:
拉模式:查询此用户关注的人,然后从这些人中查所有的微博。缺点:是关注的人多时数据大,长时间响应不了。
推模式:为每个收听者建立一个队列,用户发了微博后向收听者队列插入数据。缺点:大V粉丝多,数据量太大。
内存模式:只更新内存中的收听用户队列,当非内存中的收听用户上来时,在内存中利用拉模式构建收听队列。
把缓存当作具有一定逻辑结构的存储体系,注意利用数据填充工具填充新服务器中的缓存数据。
(十五)数据库优化
优化步骤:设计层 sql调优 内存IO层面 操作系统优化
尽量不建索引,实在要建,就建复合压缩索引
缓存sql语句执行计划
(十六)京东商城网站架构演变
三个发展时代:
1:asp连db
2:静态网页放在cdn中配合动态交易系统(购物车、订单中心)具体如下:cdn--->web应用--->读取静态文件(用生成器生成)
还有几点:将促销系统拆分出来,拆分库存逻辑,db复制
3:
交易系统:前面的负载均衡--->web应用--->业务服务层--->基础服务层
1.核心系统全面服务化,服务框架的基本三功能:路由,fileover机制,服务分组
2.数据访问分库分表
3.缓存
大流量下的四步:异步化--->限流--->分流--->降级
(十七)新浪视频后台架构变迁
的
视频点播CDN:
每个squid将io、连接数等状态报告给数据中心,播放接口根据统计信息将用户引导到离他近且状态良好的节点上:
视频直播:
视频存储: