高性能架构学习路线图-分布式架构演进

简介: 高性能架构学习路线图-分布式架构演进

一、分布式架构学习路线图


JAVA中的高并发终于写完了,在思考之后的专题些什么。朋友之前说让我总结下分布式相关的知识吧。但分布式是一个系统设计理念,牵扯到的东西太多了。顾整理了一下大概的学习路线,后续开始按照路线的模块去更(未必按顺序),以下知识点如果都能掌握,说明你基本上在JAVA上很能吃的开了。只只想吐槽以下,JAVA要学的东西太多了╮(╯▽╰)╭。


据统计,人的阅读时间在20分钟以内是能够达到全身心投入的,顾文章单张篇幅以后会尽量缩短,但更新会尽量相应频繁一些。



20190728103826282.png



二、计算机软件发展历史


首先我们了解下计算机软件的发展历史,大概总结概括,分为c/s时代,web1.0时代和web2.0时代。

c/s时代:富客户端方案。卖软件可赚钱。例如 qq、影音、游戏。


1.0时代:主要是单向信息的发布,即信息门户---广大浏览器客户端 ,互联网内容是由少数编辑人员(或站长)定制的。


表是三大门户,新浪/网易/搜狐。新浪以新闻+广告为主,网易拓展游戏为主,搜狐延伸门户矩阵


2.0时代:注重用户的交互。每个人都是内容的供稿者。 RSS订阅扮演一个很重要的作用。


例如:博客、播客、维基、P2P下载、社区、分享服务


20190728092336755.png


时至今日,互联网的形式演变已经变成全员参与,老少皆宜的活动。因此,互联网相关的技术也是要求越来越高,参与人数的增加也让系统的负担越来越大。


三、技术架构演进史


以下为2017年天猫双11的交易指标。那么大的数据量,那么快的处理请求,显然单台机器,单个服务绝对是无法支撑的。


20180227093748341.png



那么怎么办呢,我们将原本单台部署,单台处理的服务,需要进行拆分以及部署到不同的服务器中去,使其用多台机器去处理,分担压力。但是我们又要保证系统的完整性。这就是分布式的设计。接下来我们看下服务架构的演进史。


架构演进一: 早期雏形


特征:应用程序主要做静态文件读取,返回内容给浏览器。


20190728094446242.png

架构演进二: 数据库开发(LAMP特长)


特征:应用程序主要主要读取数据表值,填充html模块。业务逻辑简单,写sql



20190728094608659.png



架构演进三:  javaweb的雏形


特征:tomcat + servlet + jsp + mysql。一个war包打天下

项目结构:ssh/ssm三层结构。



20190728094749861.png



架构演进四:  javaweb的集群发展

特征:硬件机器的横向复制,对整个项目结构无影响。

20190728094800260.png


架构演进五:  javaweb的分布式发展

特征:将Service层单独分离出去,成为一个单独的项目jar。单独运行。Web服务器通过rpc框架,对分离出去的service进行调用。


2019072809481269.png

架构演进六:  javaweb的微服务发展

特征:从业务角度,细分业务为微服务,每一个微服务是一个完整的服务(从http请求到返回)。在微服务内部,将需要对外提供的接口,包装成rpc接口,对外部开放。



20190728094823525.png



集群与分布式的区别


我在面试的时候,发现很多同学会把集群和分布式混淆,其实他俩完全是两个东西

分布式:纵向拆分,一个业务分拆多个子业务,部署在不同的服务器上。主要是业务层面拆分,进行业务解耦,从而提高服务高可用以及高性能。

集群:横向复制,同一个业务,部署在多个服务器上,前面通过负载均衡,起到分担压力的作用。而且这些服务器中,即使有一两个宕机也不会影响到整体业务。


2019072809522953.png


20190728095839505.png



本章主要讲了一下高性能架构的学习路线,以及技术演进史。集群和分布式的区别。那么有一些问题留给大家。单机系统拆分成分布式和微服务,可能会遇到哪些问题,又该如何解决?大家先思考一下,下篇给大家解答。

目录
相关文章
|
28天前
|
Dubbo Java 应用服务中间件
Apache ShenYu 架构学习指南
Apache ShenYu 是一款高性能、插件化的微服务API网关,基于Spring WebFlux + Reactor 构建,支持多协议、动态配置与实时数据同步。本指南以通俗类比和实战路径,带你深入理解其架构设计、核心流程与源码实现,助力快速掌握并参与贡献。
219 12
|
21天前
|
存储 缓存 安全
某鱼电商接口架构深度剖析:从稳定性到高性能的技术密码
某鱼电商接口架构揭秘:分层解耦、安全加固、性能优化三维设计,实现200ms内响应、故障率低于0.1%。详解三层架构、多引擎存储、异步发布、WebSocket通信与全链路防护,助力开发者突破电商接口“三难”困境。
|
1月前
|
Kubernetes Go API
Kubeflow-Model-Registry-架构学习指南
Kubeflow Model Registry 是一个用于管理机器学习模型元数据的基础设施,采用 Go、Python、React 和 Kubernetes 技术栈,支持模型版本、注册与存储追踪。本指南系统解析其分层架构、核心流程与代码结构,提供从环境搭建到贡献代码的完整学习路径,助力开发者深入掌握模型管理实践。
104 0
|
1月前
|
Kubernetes Go 调度
Kubeflow-Trainer-架构学习指南
本指南系统解析Kubeflow Trainer架构,涵盖核心设计、目录结构与代码逻辑,结合学习路径与实战建议,助你掌握这一Kubernetes原生机器学习训练平台的原理与应用。
375 139
|
1月前
|
Kubernetes API 开发工具
Kubeflow-Pipelines-架构学习指南
本指南带你深入 Kubeflow Pipelines 架构,从零掌握 ML 工作流编排。涵盖核心组件、代码结构、开发调试及贡献流程,结合实战练习与学习路径,助你由使用者进阶为贡献者。
331 139
|
1月前
|
Kubernetes Cloud Native Go
Kubeflow-KServe-架构学习指南
KServe是基于Kubernetes的生产级AI推理平台,支持多框架模型部署与管理。本指南从架构解析、代码结构到实战部署,系统讲解其核心组件如InferenceService、控制器模式及与Knative、Istio集成原理,并提供学习路径与贡献指南,助你快速掌握云原生AI服务技术。
384 139
|
28天前
|
负载均衡 Java API
grpc-java 架构学习指南
本指南系统解析 grpc-java 架构,涵盖分层设计、核心流程与源码结构,结合实战路径与调试技巧,助你从入门到精通,掌握高性能 RPC 开发精髓。
150 7

热门文章

最新文章