文档章节

大型网站技术架构--扩展

 翱翔的蜗牛
发布于 2015/11/05 15:48
字数 826
阅读 55
收藏 0

扩展性:在对系统影响最小的情况下,系统功能可持续性扩展或者提升能力

表现在系统基础设施稳定不需要经常变更,应用之间较少的依赖和耦合,需求变更可以敏捷响应

系统架构设计层面:开闭原则(对扩展关闭,对修改关闭)

架构设计考虑为了功能扩展,系统增加功能时,不需要对现有系统结构和代码进行修改。

伸缩性:系统能通过增加减少自身资源规模的方式增强减少自己计算处理事务的能力。


构建可扩展性架构

模块分割,业务分层,降低耦合

利用分布式消息队列降低系统耦合性

事件驱动:通过在低耦合的模块之间传输事件消息,以保证模块的松散耦合,并借助事件消息的通信完成模块间的合作。典型的EDA架构就是操作系统中常见的生产者消费者模式。

 分布式消息队列 发布订阅模式

比较著名的有 Apache ActiviteMQ

消息队列服务(Message Queue Service,简称MQS),是阿里云推出的分布式消息中间件服务。(http://blog.aliyun.com/1346)

伸缩性,可用性,表现的都不错。

可以很简单,如ESB,SOA;也可以很简单 Mysql。

这里我们单找主题学习。


利用分布式服务打造可复用的业务平台

层次分明,链路清晰。不跨层调用,功能单一。

纵向拆分:将 大 应用拆分成多个独立的小应用

原则是:应用内部 业务逻辑关联紧密;外部,没有关联,或者可以通过其他方式解决的较少关联

横向拆分: 

系统整体方面: 

        应用(各种应用);服务(用户,商品,店铺,库存,评价等); IO服务(消息队列服务,数据库服务,搜索引擎服务,分布式缓存服务,分布式文件服务)

单一应用方面: 视图层(Controller),业务逻辑层(Service),持久层(DB);

分布式服务的需求与特点

负载均衡:研究一下对应的解决方案

失效转移:研究一下对应的解决方案

高效的远程通信

整合异构系统

对应用最少的侵入

版本管理:可提供多版本服务,上线新版本后,旧版本依然可用,当新版本没问题时再选择性的开放新版本。

实时监控

分布式服务框架设计

Thrift大型网站还不够用

Dubbo:另找主题学习


可扩展的数据结构

NoSql产品,这里暂时不进行深究。有感兴趣的可以


利用开放平台建设网站生态圈

把网站内部的服务封装成一些接口开放出去,供第三方使用,这个开放接口的平台称为开放平台。

网站,用户,第三方开发者相互依赖,形成了一个网站的生态圈,既为用户提供了更多的价值,也提高了网站和第三方开发者的竞争能力和盈利能力。

插133页图




© 著作权归作者所有

粉丝 1
博文 11
码字总数 5586
作品 0
朝阳
私信 提问
架构学习资料汇总

知名网站架构分析 探索Google App Engine背后的奥秘(1)–Google的核心技术 探索Google App Engine背后的奥秘(2)–Google的整体架构猜想 探索Google App Engine背后的奥秘(3)- Google App Eng...

peter8015
2016/04/22
279
0
淘宝技术专家谈大型网站架构

导读:本文作者是淘宝技术部技术专家陈康贤(花名龙隆),他是《大型分布式网站架构设计与实践》一书的作者,在本文中他分享了他对大型网站架构的理解,优优分享之,希望对你有帮助。 大型网...

数通畅联
2016/01/19
140
0
【网站架构13/100】一步步带你,如何网站架构

何为大型网站 大型网站特性 既然说的是大型网站架构,那么架构的背后自然是解决人因面对大型网站特性而带来的问题。这样可以先给大家说下大型网站的特性,这些特性带来的问题就是人要解决的问...

SuShine
2018/07/27
30
0
进阶Java架构师必看的15本书

获取高清电子版 获取以下架构书籍PDF高清电子版,请在以下公众号[java技术栈]回复"wx"加入微信群后,并到对应的Java技术栈Q群文件下载,群包含10G技术架构书籍及更多源码等技术资料,以下为部...

架构之路
2017/12/15
0
0
大型网站架构演化简述

前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发...

凡尘里的一根葱
2015/10/02
55
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 开发语言和语言开发的能一样么

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌:#今日歌曲推荐# 分享The Score的单曲《Revolution》 《Revolution》- The Score 手机党少年们想听歌,请使劲儿戳(这里) @批判派...

小小编辑
今天
790
10
oracle ORA-39700: database must be opened with UPGRADE option

ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option 进程 ID: 3650 会话 ID: 29......

Tank_shu
今天
3
0
分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
聊聊DubboDefaultPropertiesEnvironmentPostProcessor

序 本文主要研究一下DubboDefaultPropertiesEnvironmentPostProcessor DubboDefaultPropertiesEnvironmentPostProcessor dubbo-spring-boot-project-2.7.3/dubbo-spring-boot-compatible/au......

go4it
昨天
2
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部