『互联网架构』软件架构-分布式之大型网站的演变过程(28)

栏目: 后端 · 发布时间: 5年前

内容简介:项目都是从单一的应用,到分布式应用,到流式的基栈,这样的思想。app应用,db数据库,server服务都在同一台机器上

项目都是从单一的应用,到分布式应用,到流式的基栈,这样的思想。

『互联网架构』软件架构-分布式之大型网站的演变过程(28)

单体应用

app应用,db数据库,server服务都在同一台机器上

『互联网架构』软件架构-分布式之大型网站的演变过程(28)

集群应用

随着业务量的增大,一台服务器,需要进行拆分到3台服务器。

server服务和app在一台机器上。2台应用的,一台数据库的。

『互联网架构』软件架构-分布式之大型网站的演变过程(28)

在真正的开发过程中,由一个应用变成多个了会发生什么样的问题?

1.session集群问题

2.数据一致性问题

3.数据瓶颈(一旦流量上来了,虽然应用做了集群,但是数据库没有做集群,还是一个主库),这时候要考虑主从数据库。

『互联网架构』软件架构-分布式之大型网站的演变过程(28)

N多个模板一直操作同一个数据库,数据库需要负载如何负载,将业务进行拆分,不同的业务访问自己的数据库。降低主库的压力。

互联网的特性就是读多写少。

『互联网架构』软件架构-分布式之大型网站的演变过程(28)

如果双11了,交易额大的话,其实交易的读写库压力就很大。采用的方案是:分库分表:垂直分库,水平分表。模块的专库专用,就是一种垂直的分库。分表是根据关键的字段orderId,userId将信息存储到指定的表中。

水平分表的策略(hash,range,list)

1. range 和 list 要进行预估扩容很麻烦

2. hash 热点数据进行分散,分布均衡,扩容也比较麻烦。

前端

  1. 用户如果使用userId比较多
  2. 数据一致性要求比较高
  3. 查询我的订单(userId查)
  4. userId,时间查询条件

后端

  1. 内部数据要求不太高
  2. 业务复杂
  3. 有通过非userId来进行查询,当天所有的下单总数,下单的人数。
  4. 消息中间件 和 es cluster(canal异构)整理成后端需要的。
  5. 不查询数据库,通过es来进行查询
  6. es 获取数据库的同步分:延时,实时,维度,增量,全量。其实就是读binlog的日志。
  7. 大的变小的,不断的拆分, 不断的合并
  8. 最后可能到后台就是一个漏洞的锥子形状,越往后面越少,前面能过滤的都过滤掉了。

『互联网架构』软件架构-分布式之大型网站的演变过程(28)

涉及到计算点

java,分库分表,redis缓存,搜索引擎,RPC远程调用,所有大型分布式都涉及到并发编程这一点。

PS:技术的选型,一定了解业务,才能知道他的解决方案。

『互联网架构』软件架构-分布式之大型网站的演变过程(28)

>>原创文章,欢迎转载。转载请注明:转载自,谢谢!>>原文链接地址:上一篇:

已是最新文章


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

你不知道的JavaScript(上卷)

你不知道的JavaScript(上卷)

[美] Kyle Simpson / 赵望野、梁杰 / 人民邮电出版社 / 2015-4 / 49.00元

JavaScript语言有很多复杂的概念,但却用简单的方式体现出来(比如回调函数),因此,JavaScript开发者无需理解语言内部的原理,就能编写出功能全面的程序;就像收音机一样,你无需理解里面的管子和线圈都是做什么用的,只要会操作收音机上的按键,就可以收听你喜欢的节目。然而,JavaScript的这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发者,如果没有认真学习也无......一起来看看 《你不知道的JavaScript(上卷)》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具