互联网架构演进之路(上)

简介: 互联网架构演进之路(上)

前言


本文介绍下 互联网架构演进的4个阶段
1、单体架构
2、水平分层和面向服务架构(SOA)
3、微服务架构
4、服务网格架构(Service Mesh)
在此之前先简单介绍一个小知识点

redis做分布式锁弊端

redis实现分布式锁 哨兵模式下 会导致 一个锁同时被多个线程持有


image.png


分布式锁是CP模型 Redis是AP模型 用AP实现CP完全错误的

用ZK实现分布式锁 有性能问题

推荐使用etcd来实现分布式锁


互联网发展


  • pc互联网
静态 广播式
  • 移动互联网
动态 互动 比如微博关注
  • 物联网
万物连接 
比如微信群组 将一对一变成一对多 形成了网络


架构演进



单体

image.png


优点

开发、测试、部署、扩展 都很方便

扩展

image.png


应用场景

  • 功能不复杂 研发人员少
  • 创业初期
  • 性能要求极其苛刻
性能: 吞吐量、平均响应延迟
这里主要指平均响应延迟 
比如股票、高频交易 需要及时捕捉到股票市场一些波动

缺点

  • 系统耦合性高
  • 技术选型单一
比如开发语言单一
  • 开发效率越来越低


水平分层


要解决这些问题 咱们先看看数据库是如何破局的 然后再类比到架构上

数据库如何解决单体瓶颈


拆分

  • 按业务垂直分库
比如 用户库 商户库
但还是单表
  • 水平拆分(分表)
比如 模1024 分1024表


db做了拆分 所以要考虑分布式事务

架构同理


水平分层架构设计

  • 垂直方向拆分
按业务维度
  • 水平方向拆分


物理分成多个独立进程

按功能纬度:网关层、业务逻辑层、数据访问层、数据存储层


每层逻辑解耦

数据访问层必须拆分出来 可以屏蔽掉分库分表逻辑和兼容不同的数据库(比如关系型、非关系型、NewSql)

image.png

image.png展示服务和网关服务分离举例

网关返回的发布时间是时间戳格式
展示层(APP)将时间戳转换成具体的日期格式
而非网关返回具体的日期格式

网关层功能

image.png



相关文章
|
5月前
|
XML 数据库 数据格式
微服务技术系列教程(15) - SpringCloud - 互联网网站架构演变过程
微服务技术系列教程(15) - SpringCloud - 互联网网站架构演变过程
41 0
互联网大厂一致好评!神作《凤凰架构》仅开源3小时,竟遭受哄抢
给大家分享一本好书:周志明老师的 《凤凰架构:构建可靠的大型分布式系统》,现在网上还没有开源版本!阿嘴会在文末附电子版免费下载方式。
|
25天前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
45 0
|
3月前
|
存储 缓存 监控
【分布式】大型互联网项目架构目标
【1月更文挑战第25天】【分布式】大型互联网项目架构目标
|
3月前
|
达摩院 Java Apache
惊动“达摩院”的分布式架构笔记:火于互联网,据说来自于清华
一个星期前,一本Java架构笔记突然在互联网上爆火。因为内容的深度和广度,甚至连阿里最牛的研发中心都被惊动了,而且作者一周后直接被阿里挖走后定级P8,据说作者来自于清华。
|
8月前
|
架构师 Java 程序员
3分钟通晓,互联网架构20年以来的演进
作为一个Java程序员,你可能也思考过,为什么我还是普通开发,为什么我还是高级开发,普通开发和高级开发有什么区别?你是不是也想过要成为架构师?想要成为合格的架构师,就必须要了解架构的演进,今天,我们就来聊一聊,Java架构的演变历史。
96 0
|
4月前
|
XML 监控 数据库
互联网架构演进:从传统单体到Service Mesh
互联网架构演进:从传统单体到Service Mesh
68 0
|
5月前
|
设计模式 SQL 安全
淘东电商项目(72) -互联网安全架构设计(责任链模式重构网关流程)
淘东电商项目(72) -互联网安全架构设计(责任链模式重构网关流程)
26 0
|
5月前
|
SQL 安全 API
淘东电商项目(71) -互联网安全架构设计(网关验证AccessToken)
淘东电商项目(71) -互联网安全架构设计(网关验证AccessToken)
25 0
|
5月前
|
SQL 安全 API
淘东电商项目(70) -互联网安全架构设计(搭建开放平台-OAuth)
淘东电商项目(70) -互联网安全架构设计(搭建开放平台-OAuth)
42 0