首页 > 其他分享 >从一台电脑怎么到的分布式架构?

从一台电脑怎么到的分布式架构?

时间:2023-09-07 16:13:35浏览次数:46  
标签:负载 架构 数据库 一台 拆分 服务器 应用服务器 分布式

从单台服务器到分布式服务器的演化过程

1.单台服务器

image-20230905093238635

并发量过大就会出现各种问题

2.把服务器和数据库分离

image-20230905101626184

我把应用和数据库分别部署到不同的服务器上,缓解了负载压力

3.应用服务器集群

image-20230905102225579

出现的问题是:

a.需要使用session和cookie维护用户:

  • session用来跟踪用户状态,cookie用来在用户浏览器存储的信息

  • session从一台请求服务器切换到另一台的时候需要做一个信息共享

  • 为了保证会话状态,需要将会话请求固定在一个服务器上

  • 需要采取安全措施保证cookie的安全性

b.到底应该访问哪一台服务器才能做到不聚堆(负载均衡)

4.负载均衡服务器(见博客)

image-20230905104403682

问题:数据库负载太高了

5.数据库服务器集群

image-20230907094118556

把数据库分成读和写,主数据库(写)处理增删改操作,只有一个,从数据库(读)处理读操作,可以有多个。这样能减轻负载压力。

(也可以是多主数据库,每个数据库既能处理读又能处理写)

这样的问题是:

a.数据一致性问题:读写分离模式中,写数据库把写的过程发给读数据库,做相应修改。多主模式中,各个数据库同步修改。有可能出现数据库的数据延迟问题。

b.数据库路由策略:本质上和负载均衡差不多,访问读数据库的时候到底访问哪个(有待展开,轮询/权重/延迟/动态路由等)

6.搜索引擎集群

image-20230907140532746

搜索引擎存的是索引,请求来了先查询索引再去找真实数据

问题在于:怎么保证引擎的索引和真实数据的一致性(同步问题)

7.缓存服务器

image-20230907141743752

把经常查询的数据存到缓存服务器里,下次查询的时候,要是缓存服务器有的话就不用上读服务器里查去了。能减轻一部分负载压力。

缓存服务器基于内存存储的,读取速度比数据库和搜索引擎快,能处理更多请求。这一版用户量没有上限。

而且后端服务不可用的时候,缓存服务器还能获取到一部分数据,不是完全瘫痪。

问题:仍然是数据一致性问题。

8.数据库水平和垂直拆分

image-20230907143606629

水平拆分是将相同类别的数据分块,比如处理订单的时候按照月份划分成不同的数据库,可以实现并行操作,并且能够在扩展的时候增加结点即可,不用迁移整个数据库。还能提高查询效率,访问特定节点即可,不用扫描整个数据库。(数据划分和分散处理)

垂直拆分是将不同业务拆分成不同数据库,比如用户信息,商品信息和订单信息。访问其中一个数据库的时候避免对其他数据库的干扰。增加了独立性。(解耦和业务关联性)

9.应用服务器垂直拆分

image-20230907145119591

把一个应用服务器的不同功能模块按照业务进行拆分,增强独立性,可扩展性

问题:可能会有交互调用的问题,假如访问用户信息的时候又需要访问商品信息,那么有可能就会出现用户访问用户信息服务器,而用户信息服务器去访问商品信息服务器的情况出现(个人理解

为什么没有水平的(之前的服务器集群类似于水平拆分,但是有一些区别:个人理解水平拆分是对相同业务的拆分,服务器集群只是把并发量分散了,水平拆分是按照特定的规律,如果是水平拆分应用服务器,可能会有信息一致性的问题无法保证,还有将应用程序拆分成多个部分,本身难度大,还不便于扩展)

10.SOA服务分布式(微服务版)

分布式架构将原本的垂直拆分应用服务器进一步拆分成更小的微服务节点。垂直拆分应用服务器通常是将应用按照功能或业务逻辑进行划分,将不同的功能模块部署到不同的服务器上。而分布式架构在此基础上,将这些功能模块进一步拆分为独立的微服务节点,每个微服务负责处理特定的业务功能。

image-20230907153442741

注意:分布式架构是一种很大的模型,有很多种实现形式,微服务只是其中一种个人理解

参考:

【分布式】应用从单机到分布式的演进过程 - 知乎 (zhihu.com)

从单体到分布式,必须解决的四个问题_Jav进阶道路的博客-CSDN博客

标签:负载,架构,数据库,一台,拆分,服务器,应用服务器,分布式
From: https://www.cnblogs.com/ayuanstudy/p/17685200.html

相关文章

  • Heritrix架构学习笔记(三)
    3、Frontier链接制造工厂在heritrix-1.12.1/docs/articles/developer_manual/frontier.html下可找到Heritrix的官方文档的一个Frontier例子:/***AsimpleFrontierimplementationfortutorialpurposes*/publicclassMyFront......
  • Heritrix架构学习笔记(一)
    1、抓取起点CrawlOrder在heritrix-1.12.1/docs/apidocs目录下可以查看其API:org.archive.crawler.datamodelClassCrawlOrderjava.lang.Objectjavax.management.Attributeorg.archive.crawler.settings.Typeorg.archive.crawler.settings.Complex......
  • Sermant类隔离架构解析——解决JavaAgent场景类冲突的实践
    一、JavaAgent场景为什么要注意类冲突问题?类冲突问题并非仅存在于JavaAgent场景中,在Java场景中一直都存在,该问题通常会导致运行时触发NoClassDefFoundError、ClassNotFoundException、NoSuchMethodError等异常。从使用场景来看,基于JavaAgent技术所实现的工具,往往用于监控、治理等场......
  • 查看linux 操作系统版本、节点名称、架构等
    #uname-aLinuxtankcheng-Legion-Y9000P-IAH7H5.15.0-83-generic#92~20.04.1-UbuntuSMPMonAug2114:00:49UTC2023x86_64x86_64x86_64GNU/Linux操作系统:Linux节点名称:ttankcheng-Legion-Y9000P-IAH7H操作系统发型版号:5.15.0-83-generic系统版本与时间:#92~20.04.1......
  • 高可用-搭建Seata的异地高可用容灾架构
                 ......
  • 构建可扩展的应用:六边形架构详解与实践 【含面试题】
    面试题分享2023最新面试合集链接2023大厂面试题PDF面试题PDF版本java、python面试题项目实战:AI文本OCR识别最佳实践AIGamma一键生成PPT工具直达链接玩转cloudStudio在线编码神器玩转GPUAI绘画、AI讲话、翻译,GPU点亮AI想象空间史上最全文档AI绘画stablediffusion资......
  • MySQL整体架构简介
    MySQL是一个开源的关系型数据库管理系统(RDBMS)它的整体架构可以分为以下几个主要组件和层级:客户端层(ClientLayer)与MySQL交互的最顶层,如我们经常使用的MySql客户端工具,代表了客户端层。客户端通过TCP/IP协议与MySQL服务器进行通信,可以执行查询、更新数据等操作。MySQL......
  • java 分布式id生成工具类
    importlombok.extern.slf4j.Slf4j;importjava.lang.management.ManagementFactory;importjava.net.InetAddress;importjava.net.NetworkInterface;importjava.net.SocketException;importjava.net.UnknownHostException;importjava.util.concurrent.ThreadLocal......
  • 即时通讯技术文集(第19期):IM架构设计基础知识合集 [共13篇]
    为了更好地分类阅读52im.net总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第19 期。[-1-] 微信后台基于时间序的新一代海量数据存储架构的设计实践[链接] http://www.52im.net/thread-2970-1-1.html[摘要] 时隔3年,微信再次分享了基于时间序的新一代海量数据存......
  • 构建可持续性软件架构:六大设计原则
    面试题分享2023最新面试合集链接2023大厂面试题PDF面试题PDF版本java、python面试题项目实战:AI文本OCR识别最佳实践AIGamma一键生成PPT工具直达链接玩转cloudStudio在线编码神器玩转GPUAI绘画、AI讲话、翻译,GPU点亮AI想象空间史上最全文档AI绘画stablediffusion资......