分布式网站架构知识点总结(一):应用+特点+架构模式
目前企业应用的架构其实有很多,如高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等。和这些架构相关的管理型技术方法也有很多,如 DevOps、应用监控、自动化运维、SOA 服务治理、去 IOE 等等。
最近对分布式架构研究的比较多,为了加深学习印象,自己汇总了一些关于分布式架构比较细化的知识点,觉得有用的小伙伴可以同步收藏和转发,当然加个关注以后我分享干货将会更卖力。
一、什么是分布式架构?
分布式系统(distributed system) 是建立在网络之上的软件系统。
· 内聚性:是指每一个数据库分布节点高度自治,有本地的数据库管理系统。
· 透明性:是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。
在分布式数据系统中,用户感觉不数据是分布的,即用户不须知道关系是否分割,有无副本,数据存在于那个站点以及事物在哪个站点上执行。简单来说:在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。
分布式系统作为一个整体对用户提供服务,而整个系统的内部的协作对用户来说是透明的,用户就像是指使用一个mysql一样。如:分布式mysql中间件 mycat ,来处理大并发大数据量的构架。
二、分布式架构有哪些应用
- 分布式文件系统:例如:出名的有 Hadoop 的 HDFS, 还有 google的 GFS , 淘宝的 TFS 等
- 分布式缓存系统:例如:memcache , hbase, mongdb 等
- 分布式数据库:例如:mysql, mariadb, postgreSql 等
- 分布式webService
三、大型分布式网站的特点
- 用户多,分布广泛
- 大流量,高并发
- 海量数据,服务高可用
- 安全环境恶劣,易受网络攻击
- 功能多,变更快,频繁发布
- 从小到大,渐进发展
- 以用户为中心
- 免费服务,付费体验
四、大型分布式网站架构目标
- 高性能:提供快速的访问体验。
- 高可用:网站服务一直可以正常访问。
- 可伸缩:通过硬件增加/减少,提高/降低处理能力。
- 安全性:提供网站安全访问和数据加密,安全存储等策略。
- 扩展性:方便的通过新增/移除方式,增加/减少新的功能/模块。
- 敏捷性:随需应变,快速响应。
五、大型分布式网站架构模式
- 分层:一般可分为,应用层,服务层,数据层,管理层,分析层;
- 分割:一般按照业务/模块/功能特点进行划分,比如应用层分为首页,用户中心。
- 分布式:将应用分开部署(比如多台物理机),通过远程调用协同工作。
- 集群:一个应用/模块/功能部署多份(如:多台物理机),通过负载均衡共同提供对外访问。
- 缓存:将数据放在距离应用或用户最近的位置,加快访问速度。
- 异步:将同步的操作异步化。客户端发出请求,不等待服务端响应,等服务端处理完毕后,使用通知或轮询的方式告知请求方。一般指:请求——响应——通知 模式。
- 冗余:增加副本,提高可用性,安全性,性能。
- 安全:对已知问题有有效的解决方案,对未知/潜在问题建立发现和防御机制。
- 自动化:将重复的,不需要人工参与的事情,通过工具的方式,使用机器完成。
- 敏捷性:积极接受需求变更,快速响应业务发展需求。
获取更多编程干货,欢迎大家关注我的头条号~
相关推荐
刘晓飞 2016-07-24
ltmailsharpeyes 2020-07-28
windzoone 2020-06-01
ithzhang 2020-05-06
故纸堆 2020-03-21
ColinOrg 2020-03-21
ithzhang 2020-03-01
byourb 2020-02-12
范群松 2020-02-02
IT小小鸟 2020-01-30
草原孤狼 2020-01-29
quguang 2020-01-28
IT小小鸟 2020-01-21
红雪中国 2014-07-07
刘晓飞 2014-06-19
enginetanmary 2014-06-17
LinuxAndroidAI 2014-05-14