本章以系统架构,数据架构,两种维度来进行讲解

目录

1 系统架构

1,1 单体架构

1.2 中台战略

2 数据库架构

2,1 单体架构

2.2 主从读写

2.3 分库分表

3 总结

1 系统架构

1,1 单体架构

早期系统多以单体业务为主,逐个业务线扩张。系统也多呈现为多个mvc独⽴运行状态。各⾃打各⾃的。
以电商为例,可能按B2B,B2C,C2C不断扩张,每个业务⼀套系统,每个系统⼀个维护团队。

劣势:代码重复率高,数据不共享
1)技术架构上:
有些相同功能,各个团队重复建设和维护带来的重复投资
业务系统间的集成和协作成本⾼昂
不利于基础性业务的沉淀和持续发展
2)组织架构上:
部⻔在单体模式下往往每个项⽬⼀个团队。团队跟随项⽬疯狂扩展,利⽤率低。

1.2 中台战略

中台类⽐之下:

中台模式下,基础业务也下沉到技术部⻔,甚⾄通过技术反推业务正向发展。

下层业务,变化不⼤的业务持续沉淀,接⼝像滚雪球⼀样越来越完善
上层业务,跟业务模式和运营产品有关的系统变化迅速,对底层接⼝封装组合即可

中台介绍:

中台在2015由阿⾥提出,其实是阿⾥共享业务技术部的成型过程。
中台是⼀种企业架构⽽不是单纯的技术层⾯,⽬前⼏乎各⼤电商都进⾏着中台化的建设。
中台不是什么新奇东⻄,实际上是“共享“理念在业务、系统、组织架构上的⼀种落地与实施。

中台的特点是 共享、节约成本、协作

2 数据库架构

2,1 单体架构

早在2003-2004淘宝V1.0就使⽤mysql,V1.1换成oracle,直到2007数据库重新往mysql回迁。
这个阶段往往引发追逐商业⼤型db如oracle(淘宝v1.1 , mysql→oracle)

java web项⽬直接通过jdbc,连接单⼀的数据库,读写扎堆在⼀块,单库上的机器io及cpu性能很快达到上限

2.2 主从读写

淘宝从oracle换回mysql的历程中实现了主从库部署与读写分离。
java web应⽤层连接多个数据库,数据库之间形成主从关系,主库上写,从库上读。读写压⼒被分散数据库集群:⼀主多从、双主单写(课题:mysql千亿级数量线上扩容实战)
应⽤层开发:多数据源⽀持,Spring multi datasource
中间件:Sharding-JDBC,Mycat,Atlas

特点
数据延迟:从主库到从库之间数据需要经过⽹络传输,不可避免的有延迟
开发层⾯:需要开发框架具备多数据源的⽀持,以及⾃动化的数据源切换

2.3 分库分表

主从库的写⼊依然是有⼀个统⼀的主库⼊⼝。随着业务量的提升,继续细粒度化拆分
业务分库:订单库,产品库,活动库,会员库
横向分表:(拆记录)3个⽉内订单,半年内订单,更多订单
纵向分表:(拆字段)name、phone⼀张表,info、address⼀张表,俩表id⼀致

特点

分库:不同的数据库,所以⽆法使⽤数据库事务,⽽分布式事务的效果并不理想,多采⽤幂等和最终⼀致性⽅案。
分表:拆了再聚合是⼀对⽭盾,例如按下单时间维度的分表,需要按⽤户排序统计变得异常困难。

中间件:Sharding-JDBC,Mycat,Atlas

3 总结

通过上面的学习,可以大体了解的系统架构及数据架构的发展历史互联网架构的演变过程是历史

项目的体现,了解即可

{博学谷学习记录} 超强总结,用心分享|狂野架构师-前置互联网架构演变过程相关推荐

  1. [博学谷学习记录]超强总结,用心分享|第07节 常用的API-----笔记篇

    目录 1.API 1.1 API概述-帮助文档的使用 1.2 键盘录入字符串 2. String类 2.1 String概述 2.2 String类的构造方法 2.4 创建字符串对象的区别对比 2.5 ...

  2. [博学谷学习记录]超强总结,用心分享|架构 Nacos入门

    提示:学习笔记 欢迎指点 文章目录 前言 一.Nacos安装 二.Nacos服务注册与发现 1.服务提供者Provider 2.服务消费者Consumer 三.Nacos作为配置中心 前言 Nacos ...

  3. [博学谷学习记录]超强总结,用心分享|架构 敏捷 - 开发管理之道

    提示:学习笔记 欢迎指点 文章目录 1.敏捷开发思想之道 2.面向对象开发之道 3.敏捷学习之道 1.敏捷开发思想之道 一名敏捷开发者,敏捷思想的掌握自然首当其冲.在敏捷开发实施的过程中,我们虽然不是 ...

  4. [博学谷学习记录]超强总结,用心分享|第16节 集合续-----笔记篇

    目录 1.HashSet集合 1.1HashSet集合概述和特点[应用] 1.2HashSet集合的基本应用[应用] 1.3哈希值[理解] 1.4哈希表结构[理解] 1.5HashSet集合存储学生对 ...

  5. [博学谷学习记录] 超强总结,用心分享|陌陌综合案例

    注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flin ...

  6. [博学谷学习记录]超强总结,用心分享|Hive的压缩格式

    压缩格式 工具 算法 文件扩展名 是否可切分 DEFAULT 无 DEFAULT .deflate 否 Gzip gzip DEFAULT .gz 否 bzip2 bzip2 bzip2 .bz2 是 ...

  7. [博学谷学习记录]超强总结,用心分享|软件测试之计算机基础(一)

    本周开始学习软件测试,而我也即将开始在平台记录我的学习之路.我会把我的个人心得及掌握的知识发布在此平台,俗话说最好的输入就是输出,希望在输出的同时能有更多的收获,也希望与大家多多交流. 为了更好的学习 ...

  8. [博学谷学习记录]超强总结,用心分享|人工智能机械学习基础知识线性回归总结分享

    1.线性回归的核心是参数学习,线性回归和回归方程(函数)有关 2.线性回归是目标值预期是输入变量的线性组合 3.欠拟合的产生原因是学习到数据的特征过少 4.多元线性回归中的"线性" ...

  9. [博学谷学习记录] 超强总结,用心分享|JavaEE就业课-尊享无忧+Java基础语法|面向对象(1wk)

    学习笔记目录 目录 学习笔记目录 前言 一.变量 1. 关键字:被java赋予特殊含义的字符 2. 常量:不会发生改变的量(数据)​编辑 3. 变量:内存中的存储空间. 4. 类型转换 5. 算术运算 ...

最新文章

  1. kiss原则包括什么_求职干货想让HR瞬间对你产生好感?简历做好这三个原则
  2. 【测试面试题】控制体重
  3. linux 谷歌浏览器设置代理_linux下chrome+Proxy Switchy+ssh和firefox+autoproxy+ssh | 学步园...
  4. Centos7 安装maven
  5. [原创]BizTalk动手实验系列目录
  6. matlab 可视化 —— imagesc、
  7. 【数据科学】探索性数据分析
  8. 通过iMazing将Safari浏览器的书签导出至电脑
  9. vfp报表纸张设置_谈VFP9的自定义纸张的设计!
  10. 蓝桥杯官网试题 欧拉的鸡蛋
  11. knockoutjs与ajax,MVVM架构~knockoutjs系列之为Ajax传递Ko数组对象
  12. 12月21诛仙服务器维护,12月24日全服停机更新维护公告
  13. 快速幂计算x的n次幂,递归版本、迭代版本、python实现
  14. Oracle ORA12514 监听程序当前无法识别连接描述符中请求的服务问题解决
  15. win10专业版与家庭版区别分析
  16. Kroll任命Richard Davies担任网络风险业务副董事总经理,常驻香港
  17. 学java怎么做兼职?学Java什么程度才能找兼职?
  18. 【工业视觉-CCD相机和CMOS相机成像的本质区别】
  19. python信用卡识别_在python中验证信用卡号码
  20. Document base D:\HJF\workspace1\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps...

热门文章

  1. VScode中文显示出现方框的解决办法
  2. 利用Canvas添加水印
  3. jquery.metisMenu.js插件
  4. 利用祖鲁法则分析歌尔声学2013半年报
  5. 5. Jetpack源码解析---ViewModel基本使用及源码解析
  6. 数据恢复工具恢复分区文件详细教程
  7. 三大电信运营商携号转网数据_携号转网叠加5G商用 三大运营商的运营数据还好吗?...
  8. 全新抖音快手微信取图小程序 壁纸小程序源码 全开源
  9. elasticsearch基础6——head插件安装和web页面查询操作使用、ik分词器
  10. bugku source