架构设计是一门艺术,对架构的掌握要通过多看,多学,多交流,多积累,从实战架构上总能吸收到很好的营养,这边书虽然


(一).hadoop技术处理电信行业的上网日志



根据上网的url或未知url爬取内容,进行分类,根据模型统计出个人喜好,从何精准营销。


经典hadoop应用分层:



接口层:负责与外部数据的交换



数据层:分布式大数据处理平台



资源层:类似ISSA,实现对物理资源的自动部署和动态扩展



功能层:流程,调度,监控,元数据管理,安全等



应用层:词库分类,分类索引,负责应用功能的具体算法



展示层:web展示应用层处理的结果



网络爬虫:爬去url中的内容



(二) .Hadoop平台在金融银行业的应用架构



在核心系统层,增加hadoop平台实现历史数据存储备份、对外提供数据查询、基于存储提供数据挖掘




itsa架构视图 it架构设计_大数据


(三) .优酷hadoop平台开放


安全包括访问安全(查看数据,hdfs权限)和用户安全(用户身份)


开放:规范、流程管理、监控(节点、资源利用率、异常分析、用户存储配额、调度队列)


(四) .推荐平台


包括实时接入、实时计算、cache分布式存储、离线计算平台、运营平台


itsa架构视图 it架构设计_大数据_02


四个关键部分:


a:实时接入:管道作用,接入数据,分发给计算平台


b:流式计算:关注业务特点,业务场景而非平台架构


c:存储引擎:写主读备


d:推荐引擎:接入、分法计算、真正计算


(五) .社交网络大数据挖掘与社会化推荐


推荐系统发展:


协同过滤算法CF-->推荐引擎-->item based-->二度好友-->社会化推荐


社会化推荐引擎构成:


itsa架构视图 it架构设计_itsa架构视图_03


好友推荐模型的几个关键算法:


二度好友-->好友簇-->好友圈演化趋势预估-->好友接受率模型-->多图谱融合


(六) .微博用户兴趣建模


用户兴趣的三个方面:兴趣标签、兴趣词、兴趣分类


实时系统抽取兴趣词,离线挖掘优化


实时抽取:


微博内容-->分词、分类-->按微博ID存入redis-->超出范围按userID合并-->非活跃用户利用历史redis和实时redis中的同一用户数据在内存中完成合并


离线挖掘:


挖掘出用户真正的兴趣。


(七)小米移动应用网络建设和优化


1.移动应用网络的挑战:


基于电波传送信号不稳定;移动网络尚不成熟;


2.不同类型移动网络速度:


itsa架构视图 it架构设计_itsa架构视图_04


3.小米应对措施:


建设CDN或动态加速节点,源站和节点之间可以通过广域网直接对接,也可以通过速度好的中继节点;用户请求重转;通过TCPXM抓包分析链路质量,进而分析;


持续优化:不断修改IP库,地域性联通问题大可考虑拉专线,基于http协议做协议转换


(八)西门子系统架构管理概念


系统架构全生命周期:


itsa架构视图 it架构设计_数据_05


(九)构建高性能、稳定SOA应用


基于消息队列解耦;流程间按子任务,任务间用消息队列异步获取输入或输出结果,达到任务间并行的目的,其实只是同时处理,从某一个完成流程来看,其还是顺序的,而且效率是有影响的。


(十)基于开源技术的网络安全架构


OSSIM系统组成:各类安全设施、代理进程Agent、传感器、关联引擎、数据仓库、web控制台


itsa架构视图 it架构设计_大数据_06


数据包通过的路径:


网卡硬中断--->软中断--->内核协议栈--->系统调用--->socket接口--->libpcap接口--->用户应用程序


(十一)TOGAF应用架构设计落地


业务架构关键:组织机构、业务功能、业务流程


业务功能靠业务流程实现,业务流程由业务步骤组成,业务步骤由组织机构单元承担


应用架构关键:功能和系统,系统是IT功能的承载者。


应用架构建新一代系统工作主线:


业务功能 ---> 业务流程 ---> 业务步骤 ---> 区分全手工半自动全自动 业务步骤 ---> 功能分组映射系统,找出IT功能点 ---> 设计IT系统


(十二)分布式系统安全设计解决


数组签名确保完整性,对传递的信息进行加解密确保私密性。


(十三)淘宝TFS


itsa架构视图 it架构设计_数据_07


itsa架构视图 it架构设计_系统架构_08


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:


itsa架构视图 it架构设计_数据库_09


---> web应用 ---> 业务服务层 ---> 基础服务层


1.核心系统全面服务化,服务框架的基本三功能:路由,fileover机制,服务分组


2.数据访问分库分表


3.缓存


---> 限流 ---> 分流 ---> 降级


(十七)新浪视频后台架构变迁



视频点播CDN:


itsa架构视图 it架构设计_itsa架构视图_10


每个squid将io、连接数等状态报告给数据中心,播放接口根据统计信息将用户引导到离他近且状态良好的节点上:


itsa架构视图 it架构设计_itsa架构视图_11


视频直播:


 


视频存储:


itsa架构视图 it架构设计_数据库_12