前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式网络通讯项目(1):集群与分布式理论简介

分布式网络通讯项目(1):集群与分布式理论简介

作者头像
看、未来
发布2021-10-09 15:30:44
2370
发布2021-10-09 15:30:44
举报
请添加图片描述
请添加图片描述

文章目录

前言

很显然啊,这个项目是上一个集群项目的延伸,所以代码的篇幅不会有那么多,就是一些 “易筋” 嘛,主要还是理论 + 实践。

“集群聊天室”项目日报 “集群聊天室”GitHub地址


集群 && 分布式

集群:每台服务器独立运行一个工程的所有模块。 分布式:一个工程拆分成多个模块,每一个模块运行在独立的服务器主机上,所有服务器协同工作共同提供服务。每个模块称为一个节点,根据节点的并发需求,可以针对节点再做集群。


聊天服务器面对的挑战

对于单机服务器:

1、受限于硬件资源,并发量上不去。 2、整个系统的耦合性太高,模块化的解耦合是有,但是总的来说还是属于一个项目,一旦要更新优化,就要整个项目进行重新编译部署。 3、有些模块属于CPU密集型,有些模块属于IO密集型,全堆在一起了,有点浪费资源,短板效应明显。

对于集群服务器: 1、水平扩充了硬件资源。 2、对于上面那个问题2,嗯。。。心照不宣。 3、对于上述第三个问题,依旧有点尴尬。 4、某一台服务器出问题了不影响其他服务器。

对于分布式服务器: 1、提高了并发性能。 2、将模块解耦合。 3、可以将CPU密集型的服务器放在CPU好的服务器上,IO密集型的放到带宽好的服务器上,需要做大量存储的模块放到硬盘大的服务器上、、、 4、某个节点挂了,就GG了。

所以,处于扬长避短,我们采用:集群 + 分布式 的服务器部署模式。 (本系列不讲容灾备份,技术不太够,只听说过一点理论,没试过)


大系统模块划分中的问题

1、各模块之间可能会存在大量重复的代码(时间推移,各管一块,就有可能出现重复) 2、各模块之间怎么互相访问? 3、哪些模块需要做容灾?做集群?


这个项目就是来写一个分布式网络通信的框架,除了容灾,本篇提出的问题都会得到解答。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
  • 集群 && 分布式
    • 聊天服务器面对的挑战
    • 大系统模块划分中的问题
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档