01概述

作者: Fix12138 | 来源:发表于2019-03-10 22:15 被阅读0次

01互联网发展的三个阶段

PC互联网->移动互联网->物联网
在这个过程中:

  • 业务功能越来越复杂
  • 数据量越来越大
  • 请求量越来越大,更高的用户体验要求
  • 业务快速迭代和持续交付能力的需求

02 互联网架构演进之路

根据用户访问量和数据量等需求的发展,架构从单体发展出了水平拆分和面向服务的架构。随着业务快速迭代和持续交付能力的需求,发展出了微服务架构和服务网格架构。

单体架构
水平分层架构 / 面向服务架构
微服务架构
服务网格架构

03 单体架构

04 水平分层架构设计与实践

水平分层架构

App/Client->Nginx->网关层->消息队列(可选)->业务逻辑层->数据访问层->数据库

网关层

网关层的主要功能包括:

  • 请求鉴权:发布商品,登录鉴权
  • 数据完整性检查:数据包定长Header+变长Body
  • 协议转换:JSON->HashMap(String, Object)
  • 路由转发:根据CMD转发到不同的业务逻辑层
  • 服务治理:限流、降级、熔断等

常见的网关类解决方案:


image.png

数据访问层

数据访问层的功能包括:

  • 根据业务对数据库进行CRUD
  • ORM(如MyBatis等)
  • 分库分表(Sharding-JDBC)
  • 屏蔽底层存储差异性(比如MySLQ/MonogDB/Redis等,当底层数据库类型切换时,只要对数据访问层修改即可,业务逻辑层保持不变)

同步架构和异步架构

异步架构通过在架构中添加消息队列来实现。消息队列一般加载网关层和业务逻辑层之间。消息队列带来的好处包括:

  • 异步,加快请求的返回
  • 解耦,降低各个业务模块之间代码耦合
  • 削峰,将流量峰值缓存在消息队列中,避免瞬时高并发量击垮底层服务

水平分层架构缺点

  • 请求路径变长
  • 平均响应延迟变高
  • 定位问题变得复杂化
  • 运维成本增加

05面向服务架构设计

SOA(Service-Oriented Architecture,面向服务的架构),其特点是根据业务,进行垂直拆分。每个服务还是一个单体架构,强依赖于ESB(Enterprise Service Bus,企业服务总线)

06微服务架构设计与实践

微服务架构的本质是从两个维度拆分系统:

  • 业务架构
  • 组织架构
    达成的目的:
  • 项目快速迭代
  • 项目持续交付
    架构缺点:
  • 关注业务代码需要关注服务间注册发现通信等问题,导致业务迭代速度变慢
  • 基础设施组件升级困难,因为类似注册发现机制都是通过jar引入业务工程的,基础设施组件升级需要业务方配合,代价大。

07服务网格架构

Service Mash,服务网格。它是一个基础设施层,用于处理服务间通信。云原生应用有着复杂的服务拓扑,服务网格负责在这些拓扑中实现请求的可靠传递。在实践中,服务网格通常实现为一组轻量级网络代理,他们与应用程序部署在一起,对应用程序透明。

  • 基础设施
  • 网络代理
image.png

服务网络架构有点:

  • Service Mesh独立进程、独立升级
  • 业务团队专注业务逻辑本身
  • 一套基础设施支出多语言开发
  • 业务团队和基础设施团队物理解耦

业界框架:

  • Linkerd,来自Buoyant公司,Scala语言,Service Mash名词的创造者
  • Conduit,来自Buoyant公司,Rust语言
  • Envoy,来自Lyft公司,基于C++
  • Nginmesh,来自Nginx公司,基于Go,兼容Istio
  • Istio,来自Google,IBM,Lyft公司,基于Go/C++,Service Mash集大成者

相关文章

  • 01概述

    01互联网发展的三个阶段 PC互联网->移动互联网->物联网在这个过程中: 业务功能越来越复杂 数据量越来越大 请...

  • 01 整体概述

  • 爬虫01:概述

    爬虫概述 1.目录清单 爬虫简介 通用爬虫和聚焦爬虫 网络请求那些事儿 网络数据抓包分析 2.章节内容 2.1爬虫...

  • 01 ZooKeeper概述

    1 什么是ZooKeeper Zookeeper是大数据生态圈中的重要组件,其由雅虎开源并成为Apache的顶级项...

  • 01 Linux概述

    目录 Linux简介 Linux初体验 Linux简介? 是开源的类Unix操作系统(对下层管理硬件,让硬件工作,...

  • 01 并发概述

    什么是并发 我们先来举一个很常见的例子: 如果你现在很渴想泡壶茶喝,但你发现家里没有茶叶,水杯都放了很久没洗,并且...

  • 体质01:概述

    【补脑写作一段时间,总感不得其要。今天回归最初,按主题整理资料,调整写作时间。】 体质是整个生命状态的总和,是形气...

  • 01. 概述

    参考书籍 : 1.《当代教育心理学》陈琦,刘儒德主编,第三版,北师大出版集团。 第一章主要是概述,需要背诵的内容不...

  • 01.前端css笔记——概述

    01.前端css笔记——概述 01.基本概念 1.1需要具备的基础知识 HTML XHTML 1.2CSS概述 C...

  • MRD:饿了么市场需求文档

    目录: 概述 市场概述 需求分析 竞品分析 市场结论 01 概述 1.1 产品介绍 外卖平台——“饿了么”2008...

网友评论

      本文标题:01概述

      本文链接:https://www.haomeiwen.com/subject/usfmpqtx.html