美文网首页
分布式概要

分布式概要

作者: snakeSkin | 来源:发表于2017-03-19 22:24 被阅读37次

分层:

在经历了分层(水平切分:应用层,服务层,数据层)后,系统的并发度仍然不断升高,压力不断持续增大,通过不断升级机器的性能已经无法满足系统增大的压力时,就需要考虑

分割:

分割(纵向拆分):

即将不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,一方面有助于软件开发和维护;另一方面,便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。
大型网站分割的粒度可能会很小。比如在应用层,将不同业务进行分割,如购物,论坛,搜索,广告分割成为不同的应用,由独立团队负责并部署在不同机器上,在同一个应用内部,如果规模庞大业务复杂,会继续执行分割,同样在服务层也能根据服务分割成合适模块。

分布式:

目的:

分层和分割的目的是为了切分后的模块便于分布式部署(将不同模块部署在不同的服务器上,通过远程调用协同工作)。分布式意味着可以使用更多的计算机完成同样的功能,计算机越多,CPU,内存,存储资源也就越多,能够处理的并发访问和数据量就越大,进而能够为更多的用户提供服务。

难度:

分布式意味着1.服务调用需要通过网络,这会对性能造成比较严重的影响。2.其次,服务器越多,服务器宕机的概率也会提高,一台服务器宕机造成的服务可能会影响很多应用不能访问,使网站可用性降低。3.另外,数据在分布式环境中保持数据一致性也非常困难,分布式事务也难以保证,这对网站业务正确性和业务流程可能造成很大影响 。4.分布式还导致网站依赖错综复杂,开发管理维护困难。因此分布式设计要量力而行,切莫为了分布式而分布式。

常用的分布式设计:

1.分布式应用和服务:

分布式应用和服务:

将分层和分割后的应用和服务模块分布式部署,除了可以改善网站性能和并发性,加快开发和发布速度,减少数据库连接资源消耗外;还可以使不同应用复用共同的服务,便于业务功能扩展。

分布式静态资源:

网站的静态资源如JS,CSS,Logo图片等资源独立分布式部署,并采用独立的域名,即人们常说的动静分离。静态资源分布式部署可以减轻应用服务器的负载压力;通过使用独立域名加快浏览器并发加速的速度;由负责用户体验的团队进行开发维护有利于网站分工合作,使不同技术工种术业有专攻。

分布式数据和存储:

大型网站需要处理以P为单位的海量数据,单台计算机无法提供如此大的存储空间,这些数据需要分布式存储,除了对传统的关系型数据库进行分布式存储外,为网站应运而生的各种NoSql产品几乎都是分布式的。

分布式计算:

严格说来,应用,服务,实时数据处理都是计算,网站除了要处理这些在线业务,还有很大一部分用户没有直观感受的后台业务要处理,包括搜索引擎的索引构建,数据仓库的数据分析统计等。这些业务的计算规模非常庞大,目前网站普遍使用Hadoop,MapReduce分布式计算框架进行此类批处理计算,其特点是移动计算而不是移动数据,将计算程序分发到数据所在的位置以加速计算分布式计算。

其他:

分布式配置(如可以支持网站线上服务器配置实时更新的分布式配置)。
分布式锁(分布式环境下实现并发和协同的分布式锁)。
分布式文件系统(支持云存储的分布式文件系统)。

本文参考:大型网站技术架构-核心原理与案例分析 (李慧智)

相关文章

  • 分布式概要

    分层: 在经历了分层(水平切分:应用层,服务层,数据层)后,系统的并发度仍然不断升高,压力不断持续增大,通过不断升...

  • Hadoop2.9.0+VMware+ubuntu16.04完全

    hadoop 2.9 +vmware 完全分布式环境搭建环境概要Linux:Ubuntu 16.04hadoop:...

  • Elasticsearch介绍

    Elasticsearch 介绍 概要 Elasticsearch 是一个分布式搜索引擎,底层基于 Lucene ...

  • 阿里分布式事务解决方案fescar简析

    一、概要 阿里最近开源了分布式事务的解决方案fescar。 Fescar 是 阿里巴巴 开源的 分布式事务中间件,...

  • 分布式系统技术概要

    分布式系统技术概要 现在互联网应用,尤其是大型互联网公司的应用已经发展为大规模或超大规模的分布式的,集群化的应用。...

  • [发号器]分布式发号器实现方案,UUID,数据库,snowfla

    概要 分布式 or 微服务架构中,需要产生唯一的编号的服务叫做发号器 需求: 全局唯一(悲观策略使用分布式锁,但是...

  • 01-Zookeeper概览

    概要 ZooKeeper是一个分布式的,开放源码的分布式应用程序的Chubby一个开源的实现,是Hadoop和Hb...

  • 【TensorFlow实战——笔记】第1章:TensorFlow

    1.1 TensorFlow概要 TensorFlow是Google公司开源的分布式机器学习框架。它的前身是Dis...

  • Celery

    概要 celery是python写成的,解决分布式队列任务,需要message broker配合,通常是rabbi...

  • 分布式Yunfs的概要介绍

    1. Yunfs的由来 多年前,大概是09年的时候,我老婆所在的外贸公司正在使用一种ERP系统,员工们普遍报怨ER...

网友评论

      本文标题:分布式概要

      本文链接:https://www.haomeiwen.com/subject/dwjvnttx.html