狠狠撸

狠狠撸Share a Scribd company logo
SNS 与系统架构浅谈

  马文培 @ 研发部
本期分享内容

  1 、再谈 SNS

  2 、 SNS 系统架构

  3 、高扩展性系统架构
SNS 是什么
SNS 是什么
? Social Network Site( 社会性网络网站 )
? Social Network Software( 社会性网络软件 )
? Social Network Service( 社会性网络服务 )

 专指旨在帮助人们建立社会性网络的互联网
 应用服务
SNS 的基础理论
SNS 基础理论
?   六度分隔理论
    你和任何一个陌生人之间所间隔的人数不会超过 六 个
?   150 法则
    每个正常人日常密切联系的人际网络规模是 1 50 人左右
?   使用和满足理论
    使用与满足理论在传播研究发展史上具有重要影响,该理论把受众成员看做是有特定“
    需求”的个人,把他们的媒介接触活动看做是基于特定需求动机来“使用”媒介。从而
    使这些需求得到“满足”的过程。①卡茨、格里维奇和赫斯从对于大众传播媒介的社会
    及心理功能的文献上选出 35 种需求,并将其分为五大类: 1 、认识的需要 ( 获得信息
    、知识和理解 ) ; 2 、情感的需要 ( 情绪的、愉悦的或美感的体验 1 ; 3 、个人整合的
    需要 ( 加强可信度、信心、稳固性和地位 ) ; 4 、社会整合的需要 ( 加强与家人、朋友
    等的接触 ) ; 5 、舒解压力的需要 ( 逃避和转移注意力 ) 。
?   无尺度网络理论
    网络是动态增长的,不断有新的节点加入,新用户建立连接时候的有优先情节。它更倾
    向于与活跃用户建立连接。拥有有大量连接的活跃用户,随着网络规模的增加,连接会
    越来越多,也就是富者愈富。建立一个完全草根化的 SNS 是不现实的。人们需要活跃
    用户,活跃用户对 SNS 的拉动不容忽视。 SNS 中 20% 的人产生了 80% 的连接。这些人
    是整个网络的核心。关注这部分人的行为、喜好、特点,设计有针对性的产物会产生更
    好的效果。另外 80% 的人在网络中处于失势的地位,虽然他们有出声的权利,但是他
    们的声音很难成为主流。
SNS 产物架构模型
SNS 产物架构模型
SNS 的三大元素:
? 人
? 关系链
? 应用 / 服务
SNS 的三大元素 - 人
人:包括人的各种社会属性,如:姓名、性
 别、年龄、籍贯、现居住地、联系方式、
 教育经历、工作经历、职业、兴趣爱好、
 习惯等。也包括网站提供的各种虚拟属性
 ,如:积分、人气、粉丝数、虚拟职位。
 还有通过对用户上述属性、在网站里行为
 记录数据,通过数据挖掘提取出来的个性
 属性。如:对网络的熟悉程度、购物习惯
 、人际圈。
SNS 的三大元素 - 关系链
关系链:
人与人之间;人与群之间;群与群之间;
单向:粉丝;双向:相互关注;多向:群
一度关系;二度人脉; N 度人脉;(强弱
 )
SNS 的三大元素 - 应用 / 服务
   应用:包括内容和服务
   内容包括两类
   一类,是网站经营者官方提供的资讯,图片,音乐,等浏览类
     的资源;
   二类,是 UGC ( User Generated Content ),用户自创造自组织
     的内容;可表现为,个人日志( Blog ),相片,即时博客
     (如短文本 Qzone 心情, Twitter );
   这两类内容主要是满足了用户的两种需求
      一、信息获取的需求
      二、个性化表达与倾诉的需求( UGC, 通过个人日志,心
     情,图片等表达自己的存在感,这个符合人对自我存在感的
     心理诉求)

   应用包括娱乐类(游戏、音乐、视频)、生活辅助工具(天
     气、购物、日历、记事本、记账本、网盘、在线金融工
     具)、工作相关(简历、招聘)、交流工具( IM 、短信、
     语音)、公司相关( SaaS 、 CRM 、 ERP 、云存储、云计
     算)
SNS 三大元素之间的关联与相互依存



SNS 就是用户通过使用网站提供的
  APP 来维系关系链、拓展关系链、
  强化关系链。
市场上 SNS 产物形态及商务模式
   开心网 : 从抢车位应用切入发展了
    一批 Office 白领
   人人网(校内网) : 最早从大学生
    发展来的
   朋友网 : 依托 QQ 庞大的用户群中的
    高校学生群体切入,
   新浪微博 : 依托其传统媒体身份的
    角色,偏重媒体
   腾讯微博 : 更多的是娱乐类 , 通过微
    博把腾讯的一系列产物整合在一
    起。
SNS 盈利模式

面向公司: SaaS 、 ERP 、 CRM 、
 云计算、云存储、招聘、广告等
面向用户:虚拟物品、增值服务、
 网络广告、 APP 等
SNS 的系统架构
SNS 系统架构的需求
1 、海量数据处理
2 、高并发访问处理
3 、海量数据存储
4 、复杂关系处理
5 、分布式处理
6 、系统安全性
7 、系统开放性
8 、系统的高扩展性
SNS 系统架构
? 物理架构
? 开发架构
硬件系统架构
大
型
分
布
式
系
统
架
构
图
大型 SNS 系统一般由以下集群构
1 、负载均衡集群【 LVS 】【 DNS 】【反向代理】
2 、 WEB 服务器集群【 Nginx 】【 Apache 】【 Jboss 】【 lighthttp 】
3 、静态内容缓存服务器集群【 Squid 】
4 、数据缓存服务器集群【 memcached 】
5 、应用服务器集群【图片处理】【视频处理】【邮件处理】【短信处
  理】
6 、存储系统服务器集群【 TFS 】【 GFS 】【 FastFDS 】【 MogileFS 】
  【 MooseFS 】【 NFS 】
7 、数据库访问层集群
8 、数据库服务器集群【主数据库集群】【从数据库集群】
9 、监控系统服务器集群【 Nagios 】
10 、搜索服务器集群【 sphinx 】
服务器和操作系统是按照系统架构的设计,根据
   不同的应用需要进行选择的。
不同应用对服务器的硬件要求也是不一样的
主要考虑点如下
1 、 CPU : 32 位 /64 位、单颗 / 多颗
2 、内存:内存大小
3 、硬盘:
   SAS/SATA 硬盘缓存大小
   硬盘的转速
   系统背板是否支持 RAID
   硬盘的仓位数
   是否支持热插拔
4 、网卡
 2 个还是 4 个
   百兆还是千兆
操作系统的选择

不是所有的服务器清一色都要按照 CentOS 系
  统,根据不同的业务需要特点要选择不同
  的操作系统,并在编译时选择最优的参
  数。
要点:
1 、是否适应于大家应用所需的环境程序
2 、系统自身占用的资源比
3 、系统是否安全
4 、系统的维护成本
上线          用户
     发布          需求
     运营          分析


          增量式
          开发模式
功能                    产物
开发                    功能
测试                    设计

           系统
           架构
           设计
SNS 系统的架构目标

SNS 系统的复杂性决定我们设计的系统必须满足

1 、可靠性
2 、安全性
3 、可伸缩性
4 、可扩展性 ()
5 、可维护性
可扩展性
 方便的添加新功能


 新旧系统之间具有良好的兼容性


 扩展后系统仍能满足业务的需求


 安全性


 低成本扩展
可扩展系统开发的编程思想
1 、需求结构化
2 、系统切分
   纵向切分;横向切分;
   业务切分;应用切分;数据切分;
需求结构化
可扩展系统的设计步骤
一、静态设计
二、模块间通信及耦合设计
三、动态设计
四、模块调整
静态设计
1 、按层次和高内聚低耦合的原则进行模块
   划分
2 、为模块进行职责分配
3 、用设计模式优化核心结构
 1 )用策略 / 桥接模式作为中心骨架
 2 )用工厂模式进行组装
 3 )用命令模式进行事务处理
模块间通信及耦合设计
1 、针对接口编程(接口对外透明原则,调用
  方不需要知道被调方内部的细节。如:控
  制器层,调用模型层获取数据,不需要知
  道获取的数据是来自 MySQL 还是 NoSQL )
2 、依赖注入
3 、增加间接模块
动态设计
1 、充分利用控制反转 / 依赖注入 / 配置文件
  的方法,实现动态调用
2 、消息通知机制
模块调整
1 、调整模块等级
   将属性升级为类
   将类降为属性
   将类提升为组件
   提高模块的内聚,降低模块间的耦合
2 、类细化
3 、用设计模式优化
4 、效率的优化
系统的发布实施
SNS 产物由于其开放性决定了它的新产物、
 新功能发布, BUG 更新,都必须在线进行
 ,并且维护时间有限,最好能不停机进行。
SNS 产物发布必须把握以下几点
一、发布原则

基于版本发布的原则:即产物团队、研发团
 队、测试团队都确认是最终产物后,冻结
 该产物的版本,有实施团队发布。
二、发布方式

二、发布方式
1 、全新发布
2 、新旧兼容
3 、局部增量
4 、在线发布
5 、叠加式发布
6 、用户透明过渡
发布失败后的项目回滚

如果新产物或新功能发布上线后,发现存在
 BUG ,并且短时间内无法快速解决,必须
 能回滚到上一个版本。
厂苍蝉与系统架构浅谈
感谢您的关注

More Related Content

Similar to 厂苍蝉与系统架构浅谈 (20)

软件工程 第三章
软件工程 第三章软件工程 第三章
软件工程 第三章
浒 刘
?
异构网络社区的整合与开放
异构网络社区的整合与开放异构网络社区的整合与开放
异构网络社区的整合与开放
funy
?
云端运算与数位策展
云端运算与数位策展云端运算与数位策展
云端运算与数位策展
子軒 簡
?
社交网络在知识管理的应用 Share (gss-bj)
社交网络在知识管理的应用 Share (gss-bj)社交网络在知识管理的应用 Share (gss-bj)
社交网络在知识管理的应用 Share (gss-bj)
Yeong-Long Chen
?
单元二媒介匯流(关版)
单元二媒介匯流(关版)单元二媒介匯流(关版)
单元二媒介匯流(关版)
Evonnefufu
?
推荐系统规划
推荐系统规划推荐系统规划
推荐系统规划
2005000613
?
天涯论坛的技术进化史-蚕肠辞苍2011
天涯论坛的技术进化史-蚕肠辞苍2011天涯论坛的技术进化史-蚕肠辞苍2011
天涯论坛的技术进化史-蚕肠辞苍2011
Yiwei Ma
?
军工行业网络安全解决方案整体设计
军工行业网络安全解决方案整体设计军工行业网络安全解决方案整体设计
军工行业网络安全解决方案整体设计
gb ku
?
功能演示 网站
功能演示 网站功能演示 网站
功能演示 网站
fairyzero
?
百度消息队列设计和实现总结
百度消息队列设计和实现总结百度消息队列设计和实现总结
百度消息队列设计和实现总结
everestsun
?
大型厂苍蝉网站数据库设计
大型厂苍蝉网站数据库设计大型厂苍蝉网站数据库设计
大型厂苍蝉网站数据库设计
Tony Deng
?
Tup2 人人网张铁安
Tup2 人人网张铁安Tup2 人人网张铁安
Tup2 人人网张铁安
yongboy
?
张铁安:贵别别诲系统架构浅析
张铁安:贵别别诲系统架构浅析张铁安:贵别别诲系统架构浅析
张铁安:贵别别诲系统架构浅析
Leechael
?
人人网技术经理张铁安 Feed系统结构浅析
人人网技术经理张铁安 Feed系统结构浅析人人网技术经理张铁安 Feed系统结构浅析
人人网技术经理张铁安 Feed系统结构浅析
isnull
?
开源软件营销策略
开源软件营销策略开源软件营销策略
开源软件营销策略
linhaicaoyuan
?
管理信息系统
管理信息系统管理信息系统
管理信息系统
avatarism
?
达尔文信息云平台
达尔文信息云平台达尔文信息云平台
达尔文信息云平台
SmartData
?
厂辞肠颈补濒调研报告
厂辞肠颈补濒调研报告厂辞肠颈补濒调研报告
厂辞肠颈补濒调研报告
AngelIWU
?
云计算可信评估方法研究
云计算可信评估方法研究云计算可信评估方法研究
云计算可信评估方法研究
iamafan
?
Workshop01 网络新闻发展现状调查及新闻网站统计分析
Workshop01 网络新闻发展现状调查及新闻网站统计分析Workshop01 网络新闻发展现状调查及新闻网站统计分析
Workshop01 网络新闻发展现状调查及新闻网站统计分析
dodo5189
?
软件工程 第三章
软件工程 第三章软件工程 第三章
软件工程 第三章
浒 刘
?
异构网络社区的整合与开放
异构网络社区的整合与开放异构网络社区的整合与开放
异构网络社区的整合与开放
funy
?
云端运算与数位策展
云端运算与数位策展云端运算与数位策展
云端运算与数位策展
子軒 簡
?
社交网络在知识管理的应用 Share (gss-bj)
社交网络在知识管理的应用 Share (gss-bj)社交网络在知识管理的应用 Share (gss-bj)
社交网络在知识管理的应用 Share (gss-bj)
Yeong-Long Chen
?
单元二媒介匯流(关版)
单元二媒介匯流(关版)单元二媒介匯流(关版)
单元二媒介匯流(关版)
Evonnefufu
?
推荐系统规划
推荐系统规划推荐系统规划
推荐系统规划
2005000613
?
天涯论坛的技术进化史-蚕肠辞苍2011
天涯论坛的技术进化史-蚕肠辞苍2011天涯论坛的技术进化史-蚕肠辞苍2011
天涯论坛的技术进化史-蚕肠辞苍2011
Yiwei Ma
?
军工行业网络安全解决方案整体设计
军工行业网络安全解决方案整体设计军工行业网络安全解决方案整体设计
军工行业网络安全解决方案整体设计
gb ku
?
功能演示 网站
功能演示 网站功能演示 网站
功能演示 网站
fairyzero
?
百度消息队列设计和实现总结
百度消息队列设计和实现总结百度消息队列设计和实现总结
百度消息队列设计和实现总结
everestsun
?
大型厂苍蝉网站数据库设计
大型厂苍蝉网站数据库设计大型厂苍蝉网站数据库设计
大型厂苍蝉网站数据库设计
Tony Deng
?
Tup2 人人网张铁安
Tup2 人人网张铁安Tup2 人人网张铁安
Tup2 人人网张铁安
yongboy
?
张铁安:贵别别诲系统架构浅析
张铁安:贵别别诲系统架构浅析张铁安:贵别别诲系统架构浅析
张铁安:贵别别诲系统架构浅析
Leechael
?
人人网技术经理张铁安 Feed系统结构浅析
人人网技术经理张铁安 Feed系统结构浅析人人网技术经理张铁安 Feed系统结构浅析
人人网技术经理张铁安 Feed系统结构浅析
isnull
?
开源软件营销策略
开源软件营销策略开源软件营销策略
开源软件营销策略
linhaicaoyuan
?
管理信息系统
管理信息系统管理信息系统
管理信息系统
avatarism
?
达尔文信息云平台
达尔文信息云平台达尔文信息云平台
达尔文信息云平台
SmartData
?
厂辞肠颈补濒调研报告
厂辞肠颈补濒调研报告厂辞肠颈补濒调研报告
厂辞肠颈补濒调研报告
AngelIWU
?
云计算可信评估方法研究
云计算可信评估方法研究云计算可信评估方法研究
云计算可信评估方法研究
iamafan
?
Workshop01 网络新闻发展现状调查及新闻网站统计分析
Workshop01 网络新闻发展现状调查及新闻网站统计分析Workshop01 网络新闻发展现状调查及新闻网站统计分析
Workshop01 网络新闻发展现状调查及新闻网站统计分析
dodo5189
?

厂苍蝉与系统架构浅谈