wordpress建立个人网站,广告设计作品集,济宁做网站多少钱,东莞做展示网站的公司1. 单机服务器的瓶颈#xff1a;
单机服务器#xff1a;一台服务器独立运行一个工程所需的全部的业务模块 受限于服务器硬件资源#xff0c;所承受用户并发量受限#xff0c;32位linux操作系统最大并发量为两万任一模块的变动和修改#xff0c;都会导致整个项目代码重新编…1. 单机服务器的瓶颈
单机服务器一台服务器独立运行一个工程所需的全部的业务模块 受限于服务器硬件资源所承受用户并发量受限32位linux操作系统最大并发量为两万任一模块的变动和修改都会导致整个项目代码重新编译、部署浪费大量时间成本系统模块对硬件资源的需求不一样CPU密集型(3D展示大量计算)、I/O密集型服务器信息收发部署在一台服务器则对服务器的整体硬件资源提出更高的要求增加了成本 2. 集群服务器
分布式集群服务器每一个服务器都运行一个工程的所有模块。 优点
解决了单机服务器的并发量限制但是服务器机数和并发量并不成正比关系配置简单只需要在服务器部署所有模块并增加Nginx反向代理的服务器配置即可 缺点
项目代码的修改需要所有服务器重新编译单机只进行一次部署而现在要进行多次部署部分使用量少不需要大量并发的模块仍然部署在所有服务器一定程度上浪费了资源并未解决功能模块对服务器的多硬件资源需求问题CPU密集型、I/O密集型
3. 分布式服务器
分布式服务器一个工程拆分了很多模块每一个模块独立部署运行在一个服务器主机上所有服务器协同工作共同提供服务每一台服务器称作分布式的一个节点根据节点的并发要求对一个节点可以再做节点模块集群部署 优点
可以将工程模块分别部署在不同的服务器根据模块对硬件资源的需求 分别将CPU密集型的模块部署在CPU资源较好的服务器将I/O密集型的模块部署在CPU资源较差的服务器解决了单机、集群均无法解决的问题将并发要求高的模块结点进行集群部署扩充并发。
当单独模块的代码需要修改时仅编译当前的模块代码并在当前服务器编译部署并不影响其他的模块正常运行可以根据服务器的资源条件进行最匹配的功能模块最大化的利用资源避免资源浪费并部署高可用容灾的主备服务器功能保障服务器可靠性
引发的问题
1.大系统的软件模块该怎么划分 模块和模块之间的界线不清晰有的模块里面的函数调动另一个模块的函数代码各模块可能实现大量重复的代码如果在不同模块重复的公共代码修改成过程中逐渐分离变成不可控制了。 2、各模块之间该怎么访问 因为现在各模块可能运行不在一个机器上或者不在一个进程上。 在单机或者集群中这些模块是运行在一个服务器进程当中相当于自己调用自己。但是在分布式中用户管理和好友管理部署在不同的进程中用户管理进程如何调用另一个模块上的业务呢 机器1上的模块怎么调用机器2上的模块的一个业务方法呢软件设计师通过经验来解决 机器1上的一个模块进程1怎么调用机器1上的模块进程2里面的一个业务方法呢 调用过程涉及网络传输携带区分函数的标识函数的参数函数命名等发送给另一台机器调用方法将传递过来的参数代入执行执行之后将返回值通过网络返回。