02.信息系统架构介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
肯定有一套红包大小的随机算法。
抢到的钱不一样 这算法是在哪计算的。
深度思考
怎么计算手气最佳,如果两个人 抢到的一样多呢?
抢到的红包是即时到帐吗?
03
有时候明明点开了红包,还 是没有抢到?
04
红包没抢完怎么处理?
02
05
是用什么方式计算红包分 配算法?是数据库还是用 程序计算合适?
为啥过年时红包经常打不开?
的NOSQL有mongodb和redis,搜索引擎
有lucene。
网站系统架构演化
应用服务器业务拆分
随着业务进一步扩展,应用程序变得非常臃
肿,这时我们需要将应用程序进行业务拆分 ,如百度分为新闻、网页、图片等业务。每
个业务应用负责相对独立的业务运作。业务
之间通过消息进行通信或者同享数据库来实 现。
信息系统架构介绍
2017年12月
信息系统架构描述
信息系统架构是一个体系结构,它反映一个政府、企业或事业单位的信息系统的各个
组成部分之间的关系,以及信息系统与相关业务,信息系统与相关技术之间的关系。
信息系统架构是指应用程序、技术和数据的相应选择和投资组合的定义,硬件、软件 和通讯的配置等。(来源于百度词条)
网站系统架构Βιβλιοθήκη Baidu化
最开始的网站架构
最初的架构,应用程序、数据库、文件都 部署在一台服务器上。
网站系统架构演化
应用、数据、文件分离
随着业务的扩展,一台服务器已经不能满 足性能需求,故将应用程序、数据库、文件 各自部署在独立的服务器上,并且根据服务
器的用途配置不同的硬件,达到最佳的性能
效果。
网站系统架构演化
网站系统架构演化
读写分离和分库分表
随着用户量的增加,数据库成为最大的瓶
颈,改善数据库性能常用的手段是进行读写 分离以及分表,读写分离顾名思义就是将数
据库分为读库和写库,通过主备功能 实现数
据同步。分库分表则分为水平切分和垂直切 分,水平切换则是对一个数据库特大的表进 行拆分,例如用户表。垂直切分则是根据业 务不同来切换,如用户业 务、商品业务相关 的表放在不同的数据库中。
1
如何来学习系统架构?
视野
从信息系统架构的定义来看,我
3
实践
们没有很直观的概念,那么如何来理 解和学习系统架构呢?
视野: 你需要了解在构建信息系统过
程中,所使用到的硬件设备,各种成 熟的技术框架,以及业务系统知识。 思路:你需要把握整个系统的逻辑结
构,并考虑到各种不同场景下的处理
2
措施。
思路
实践:何不自己动手,按自己的设计 来搭建一个系统呢?
•
分布式、服务化的erp系统架构设计
http://www.cnblogs.com/liuche/p/7955462.html
•
IT 运维的救赎——顺丰运维的理想践行
http://mp.weixin.qq.com/s/JtUmEjir-FTTBLyrJawsFQ
谢谢大家
01
06
重点讲解
•这两张图已涵盖大部分架构设计所用到的方法
系统架构设计中的重要技术
集群
多个计算机按某种方式组织 在一起处理同一种业务。
缓存
缓存就是数据交换的缓冲区, 通过缓存技术,能够获得较 大性能提升。
分库分表
通过垂直或横向的分库分表 来获得系统较大的扩展性。
异步交互
指发送一个请求,不需要等待 返回,随时可以再发送下一个 请求,即不需要等待。
网站系统架构演化
使用分布式文件系统
用户一天天增加,业务量越来越大,产生的
文件越来越多,单台的文件服务器已经不能 满足需求。需要分布式的文件系统支撑。常
用的分布式文件系统有NFS。
网站系统架构演化
NoSql和搜索引擎
对于海量数据的查询,我们使用nosql数据
库加上搜索引擎可以达到更好的性能。并不 是所有的数据都要放在关系型数据中。常用
架构师的思维方式
《越狱》男主角迈克尔,“潜在精神分裂”患 者,剧中介绍他能够从周围环境中获得远远多于常 人的信息。
普通人看到的
迈克尔看到的
VS
你能想到什么?
第一步思考
说明红包功能是通过网络传输数据。 用手机才能抢
背后应该有腾讯的服务器。
手机联网才能抢 手机是客户端。
第二步思考
红包功能需要对账户进行校验。 钱包没钱不能发
网站系统架构演化
使用集群
常用的负载均衡技术硬件的有F5,价格比
较贵,软件的有LVS、Nginx、HAProxy。 LVS是四层负载均衡,根据目标地址和端口
选择内部服务器,Nginx是七层负载均衡和
HAProxy支持四层、七层负载均衡,可以根 据报文内容选择内部服务器,因此LVS分发 路径优于Nginx和HAProxy,性能要高些, 而Nginx和HAProxy则更具配置性,如可以 用来做动静分离(根据请求报文特征,选择 静态资源服务器还是应用服务器)。
利用缓存改善网站性能
在硬件优化性能的同时,同时也通过软 件进行性能优化,在大部分的网站系统中, 都会利用缓存技术改善系统的性能,使用缓
存主要源于热点数据的存在,大部分网 站访
问都遵循28原则(即80%的访问请求,最终 落在20%的数据上),所以我们可以对热点
数据进行缓存,减少这些数据的访问路径,
提高用户体验。
网站系统架构演化
搭建分布式服务
这时我们发现各个业务应用都会使用到一
些基本的业务服务,例如用户服务、订单服 务、支付服务、安全服务,这些服务是支撑
各业务应用的基本要素。我们将这些 服务抽
取出来利用分部式服务框架搭建分布式服务 。淘宝的Dubbo是一个不错的选择。
如果成为一个好的架构师
成为行业顾问
清晰了解行业情况和业务背景,能够在纷杂的信息中抽象出核心业务实体,判断出业务关键点,找 到技术的切入点,做到技术和业务的连贯性。
网站系统架构演化
使用CDN和反向代理
CDN将数据内容缓存到运营商的机房,用户
访问时先从最近的运营商获取数据,这样大 大减少了网络访问的路径。比较专业的CDN
运营商有蓝汛、网宿。
反向代理,是部署在网站的机房,当用户请 求达到时首先访问反向代理服务器,反向代
理服务器将缓存的数据返回给用户,如果没
有没有缓存数据才会继续走应用服务器获取 ,也减少了获取数据的成本。反向代理有 Squid,Nginx。
成为技术专家
• • • • 了解常用平台、语言、数据库的特点; 能够根据需求搭配出最适用的开发配置方案; 有预判能力和延展能力,不局限于眼前问题的解决; 有技术前瞻性,要熟知当前的技术前沿和热点,要不断地更新技术理论。
架构师的技能图谱
优秀文章推荐
•
一个架构师谈什么是架构师,以及怎样成为一个架构师: https://mp.weixin.qq.com/s/sPUeVFQ_JtzB6O7k7eu4mA