当前位置: 首页 > article >正文

关于分布式的误区

之前一直搞不太懂分布式和集群的区别,今天看了一些论坛记录下,都是不同的网友的回答和描述,有点乱,看看就行

分布式和负载均衡,简单的说就是多个服务器跑不同的项目和多个服务器跑相同的项目。举个实际的例子。
因为我是做游戏服务端开发的我就用游戏举例子。魔兽世界知道吧,我们都知道魔兽世界有很多个区服,玩家通常都会选择不需要排队,延迟低的区服。所以,如果我们把游戏的逻辑服务端看成一个业务,通过增加多个服务器来跑游戏的逻辑服务端提供多个区服,这个就是负载均衡,用来解决服务器压力。

同样的,刚刚说的是以游戏服务端这个看成一个业务,然而一个完整的网络游戏可不止这么一个业务比如我们需要有一个公用的账号系统,因为我不可能换个区就要重新注册一个账号。我们还需要日志分析,用户行为分析,GM 工具等等各种其他的业务,这些业务肯定是跑在其他服务器上的,那么由这一堆业务所组成的完整的游戏运营服务,这个就是用分布式,用来解决模块的过度耦合。

然后,楼主你有一个误区,就是分布式主要是用来解决高并发或者其他因为系统资源不足所导致的瓶颈,这是错误的。我个人的观点是,分布式主要解决的是模块重用和系统边界问题,注重的是业务问题。依旧用上面那个例子,假如我们不采用分布式开发游戏整体业务,把账号系统在逻辑服务端里实现,那么就会出现换个区需要重新注册账号的问题。

什么是分布式系统?

分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。通俗的理解,所谓分布式系统,就是一个业务拆分成多个子业务,分布在不同的服务器节点,共同构成的系统称为分布式系统,同一个分布式系统中的服务器节点在空间部署上是可以随意分布的,这些服务器可能放在不同的机柜中,也可能在不同的机房中,甚至分布在不同的城市。

在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/584812.html

相关文章:

  • STM32定时器配置1毫秒中断
  • Node.js Web 模块详解
  • 【原创】在高性能服务器上,使用受限用户运行Nginx,充当反向代理服务器[未完待续]
  • 接口自动化入门 —— JSON中的万能密码--JSONPath解析!
  • 基于javaweb的SpringBoot个人健康管理系统小程序微信小程序设计与实现(源码+文档+部署讲解)
  • Java 实现 Android ViewPager2 顶部导航:动态配置与高效加载指南
  • 【SpringBoot】MD5加盐算法的详解
  • RabbitMQ 实现原理及流程
  • 【数据结构】-哈夫曼树以及其应用
  • 【原创】springboot+vue校园新冠疫情统计管理系统设计与实现
  • git切换版本
  • 根据开始和结束日期,获取每一天和每个月的开始和结束日期的list
  • 深度对话:AI界的奥本海默与通用人工智能(AGI)的未来
  • 如何在Futter开发中做性能优化?
  • 前端面试:React生态有哪些?
  • Unity开发的抖音小游戏接入抖音开放平台中的流量主(抖音小游戏接入广告)
  • ubuntu 设置允许root远程登录
  • 使用联核科技四向穿梭车能给企业带来哪些效益?
  • CSS-基础选择器,字体属性,文本属性介绍
  • 【MySQL】基本操作 —— DDL