您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

分布式系统设计概述

时间:2019-07-03 14:44:38  来源:  作者:

概述

分布式系统主要用于解决单机在处理高并发请求,海量数据存储和海量数据计算分析时的瓶颈,通过将系统拆分为各个子系统,各个子系统可以在各自的机器上部署从而来实现整个系统的横向拓展。其中针对系统业务的差异,分布式系统设计的思路也会存在差异,以下主要是针对企业级应用服务,数据存储访问,数据计算分析服务来做个分析。

1. 企业应用服务

(1)集群部署

应对高并发请求的处理,同一个服务部署多个节点来解决单机处理能力有限和单点问题,而实现这个的前提是服务节点的无状态,即不在服务进程进程的内存维护数据,这样每个服务节点都可以随时停止运行和重启。通过负载均衡机制来将请求分散到这多个服务节点,从而实现动态的横向拓展;

(2)分布式应用

分布式应用是指一个系统由多个子服务组成,每个子服务对应一个独立的进程,部署在不同的节点,各子系统通过网络来进行交互协作,所以服务请求的处理开销主要是在网络通信方面。分布式应用相对于单体应用虽然由于各子服务需要通过网络来进行协作而增加了网络开销,但是提高了应用的拓展性,可维护性,并发性,可靠性和整体的性能,不过也存在缺点就是服务调用追踪更加复杂,网络的不稳定性增加了服务调用的时间延迟和出错的概率。

2. 数据存储服务

应对海量数据的存储,分散数据到多个节点存储来解决单机存储空间问题,同时每个数据节点包含多个备份节点来实现数据冗余存储来避免节点宕机导致数据丢失,但是需要在多个主从数据节点之间进行数据同步来保持数据一致性。所以数据存储访问的分布式系统设计一般需要考虑数据的复制同步和数据一致性要求,即通常需要在数据可用性和数据一致性之间做个折中,如果要强一致性,则每次数据写入都需要在主从节点之间写入成功才返回,在这个过程中客户端无法读取这个数据;如果要求可用性,则可以在主节点写入成功,或者部分从节点写入成功,如Quorum机制,则成功响应客户端。

3. 数据计算服务

应对海量数据的离线和实时计算分析,首先数据计算通常涉及海量数据,而数据通常被分散存储在多个节点来解决单机存储空间的问题。为了提高计算速度,需要在每个数据节点进行计算,然后在主节点进行结果汇总。而数据计算方面为了避免数据通过网络传输,通常计算任务调度服务会将计算任务分配到数据节点上来进行计算,在计算完成时只需要同步计算结果给主节点汇总即可。

CAP理论与BASE理论

以上系统都设计到多个子节点和不同节点之间数据存在相关性,如企业的分布式应用就是一次请求调用涉及的多个子服务的各自数据,数据存储访问就是一个数据的多个备份数据。而由于是存在于不同机器节点的服务,需要通过网络来通信协作,而网络的不稳定是固然存在的。所以也就产生了分布式系统设计的CAP理论来阐述分布式系统只能存在数据强一致性和服务高可用的其中一种,二者无法同时满足。而在实际进行分布式系统设计时,则一般基于BASE理论,即基本可用,软状态和最终一致性。



Tags:分布式系统   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
随着移动互联网技术的快速发展,在新业务、新领域、新场景的驱动下,基于传统大型机的服务部署方式,不仅难以适应快速增长的业务需求,而且持续耗费高昂的成本,从而使得各大生产厂商...【详细内容】
2021-12-08  Tags: 分布式系统  点击:(23)  评论:(0)  加入收藏
分布式一致性算法概要随着各种高并发访问、海量数据处理等应用场景越来越多,为了应对这些使用场景,分布式系统应运而生。分布式系统得以发展,得益于诸多优点,比如:可以避免 单点...【详细内容】
2021-04-13  Tags: 分布式系统  点击:(238)  评论:(0)  加入收藏
分布式系统的经典理论分布式系统从诞生到现在已经有几十个年头了,其中伴随着一些很重要的基础理论,正是这些影响深远的基础理论,奠定了分布式系统的坚实基础,造就了分布式领域的...【详细内容】
2021-04-13  Tags: 分布式系统  点击:(263)  评论:(0)  加入收藏
分布式理论知识1、分布式系统架构1.1基础概念分布式 : 将一个单体项目分成很多个模块,各个模块协同工作,各个模块构成了分布式系统集群:针对单个模块或者单个系统在多台服务器上...【详细内容】
2021-01-28  Tags: 分布式系统  点击:(111)  评论:(0)  加入收藏
一致性问题一致性问题是分布式领域最重要、最基础的问题。一致性/Consistency,是说在有多个服务节点的情况下,执行一些列操作,在约定协议的保障下,使得他们对外的处理结果,能达...【详细内容】
2020-12-15  Tags: 分布式系统  点击:(149)  评论:(0)  加入收藏
在分布式系统,尤其是微服务系统中,一次外部请求往往需要内部多个模块,多个中间件,多台机器的相互调用才能完成。在这一系列的调用中,可能有些是串行的,而有些是并行的。在这种情况...【详细内容】
2020-12-11  Tags: 分布式系统  点击:(158)  评论:(0)  加入收藏
现如今可谓是微服务、分布式、IoT(物联网)横行的时代,作为一名开发者始终还是要保持一定的危机意识,特别是在日常的项目开发中,若是有机会接触到一些关于微服务、分布式下的应用...【详细内容】
2020-12-01  Tags: 分布式系统  点击:(114)  评论:(0)  加入收藏
分布式系统如何寻址?通过 RPC 框架,能够解决服务之间的跨网络通信问题,是微服务改造的基础。服务拆分之后,需要维护更多细粒度的服务,这样就涉及到 RPC 客户端服到服务端的 部署...【详细内容】
2020-11-04  Tags: 分布式系统  点击:(103)  评论:(0)  加入收藏
上一篇《CAP》写完之后,我又反复回看了多次,发现最后的一部分表达CAP、ACID、BASE、“BACP(自造)”关系时有一些问题,并且不是很严谨,但是无奈已经发送过的内容,无法支持修改,并且有挺多小伙伴都在私聊我确认细节,这里我来重...【详细内容】
2020-09-16  Tags: 分布式系统  点击:(46)  评论:(0)  加入收藏
介绍OAuth(开放授权)是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。OAuth...【详细内容】
2020-08-18  Tags: 分布式系统  点击:(65)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(9)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条