大型网站架构体系的演变(下)

接着上篇的继续

在做扩展满足了基本的性能需求后,我们会逐渐关注“可用性”(也就是我们通常听别人吹牛时说的SLA、几个9)。如何保证真正“高可用”,也是个难题。

几乎主流的大中型互联网公司,都会有用到类似的架构,只是节点数不同而已。

还有一招用的比较多的,那就是动静分离。可以需要开发人员配合(把静态资源放独立站点下),也可以不需要开发人员配合(利用7层反向代理来处理,根据后缀名等信息来判断资源类型)。有了单独的静态文件服务器之后,存储也是个问题,也需要扩展。多台服务器的文件怎么保持一致,买不起共享存储怎么办?分布式文件系统也派上用场了。

还有一项目前国内外用的非常普遍的技术CDN加速。目前该领域竞争激烈,也已经比较便宜了。国内南北互联网问题比较严重,使用CDN可以有效解决这个问题。

CDN的基本原理并不复杂,可以理解为智能DNS+Squid反向代理缓存 ,然后需要有很多机房节点提供访问。

截止目前为止,都没有怎么去改动应用程序的架构,或者说通俗点,都不怎么需要大面积的修改代码。

如果上面那些手段都用光了,还是支撑不住怎么办?不停的加机器也不是办法啊?

随着业务越来越复杂,网站的功能越来越多,虽然部署层面是采用的集群,但是应用程序架构层面还是“集中式”的,这样会导致很多耦合,不便于开发、维护,而且容易“一荣俱损”。所以,通常会把网站拆分出不同的子站点来单独宿主。

应用都拆了,由于单个数据库的连接,QPS,TPS,I/O处理能力都非常有限,DB层面也可以去做垂直分库操作

拆分应用和DB之后,其实还是会有很多问题。不同的站点,里面可能会有相同逻辑和功能的代码。当然,对于一些基础的功能我们可以封装DLL或者Jar包去到处提供引用,但是这种强依赖也很容易造成一些问题(版本问题、依赖关系等处理起来非常麻烦)。这样,传说中的SOA的价值就得到体现了。

应用、服务之间还是会出现一些依赖问题,这时候,高吞吐量的解耦利器出现了

最后,还介绍一个大型互联网公司都用的绝技--分库分表。个人经验,不是业务发站和各方面非常迫切,不要轻易走这一步。

因为分库分表谁都会干,关键是拆完之后怎么办。目前,市面上还没有完全开源免费的方案,能让你一劳永逸地解决数据库拆分问题。

原文发布于微信公众号 - java一日一条(mjx_java)

原文发表时间:2015-06-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏沃趣科技

Gitlab删库事件回顾,备份手段还停留在“原始社会”?

作者简介:孙朝阳 沃趣科技高级产品经理。 Gitlab简介 Gitlab是大家很熟悉的开源Git代码托管工具,国内公司大多使用社区版自行搭建私有化的内部代码托...

3556
来自专栏私有云搭建

腾讯云服务器+可道云kodexplorer打造企业私有云

公有云越来越疲软,企业用户和个人用户对于公有云的接受度也越来越低。企业用户往往转向私有云盘产品,个人用户往往转向了NAS产品,从而来满足自己对于文件共享和管理的...

1.1K4
来自专栏程序人生 阅读快乐

循序渐进Linux(第2版)

《循序渐进Linux(第 2版) 基础知识 服务器搭建 系统管理 性能调优 虚拟化与集群应用》从基础知识入手,系统讲解了Linux系统结构、shell、主流服务...

952
来自专栏Java架构师学习

数据库高可用实战案例:架构优化背景前期调研详细调研测试过程实施过程细节问题处理

2236
来自专栏Golang语言社区

Go语言发布1.5版本:彻底告别C代码

在经历了6年6次更新之后,Google的自家编程语言“Go”终于迎来了1.5版本。Google在本次更新中移除了“最后残余的C代码”,因为运行时(runtim...

3089
来自专栏沃趣科技

备份重于一切:远离“Gitlab删库事件”,QBackup是你的最佳选择!

作者简介:孙朝阳 沃趣科技高级产品经理。 案发现场: Gitlab删库事件回顾 Gitlab是大家很熟悉的开源Git代码托管工具,国内公司大多使用社区版自行搭...

3698
来自专栏P2P传输

BT软件系统包含哪些部分?BT技术如何突破运营商的封锁?

BT技术已经被很多个人和企业用来在互联网上发布各种资源,其好处是不需要资源发布者拥有高性能服务器,就能迅速有效地把发布的资源,传向其他的BT客户软件使用者,可以...

1560
来自专栏程序你好

如何保证你的智能手机安全和私密,手机安全需要做到的事

近十年以来,智能手机的应用越来广泛,各种流行的App层出不穷,可以说iPhone这样的智能手机已经彻底改变了我们的生活和行为习惯。请允许我指出一个显而易见的事实...

932
来自专栏美团技术团队

美团数据库运维自动化系统构建之路

美团点评技术沙龙由美团点评技术团队主办,每月一期。每期沙龙邀请美团点评及其它互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域。 目前沙龙会分别在北...

6308
来自专栏别先生

Highcharts实现图形报表(我主要实现javaweb开发的图形报表)

官网网址:https://www.hcharts.cn/ 中文版的(参考起来方便,你懂的。):http://www.mamicode.com/info-deta...

2627

扫码关注云+社区

领取腾讯云代金券