单机架构
单机架构它的代码都在一起;
好处是:方便开发、学习的成本较低、方便部署。
弊端:前端与后台耦合性很强、他不利于后期的开发与维护、当一个模块出现问题整个系统需要全部停止更新。
使用场景:适用于小的系统管理,教务系统等;如果能使用该框架的应该优先考虑该项目。
分布式
分布式简单的讲就是把一个系统的不同的模块分给不同的电脑运行。它是在某模块用户量增多单机架构无法支持,把该模块提出放在不同的主机上可以减轻整个系统的压力。
优点:在系统的某一模块出现异常需要维护或更新的情况下不会影响其他的模块。模块之间互不影响。
弊端:他的架构复杂,需要服务之间的相互调用;这些问题可以用框架解决。
集群
集群就是多台电脑执行一个模块,代码开发一块就部署在多台电脑上,他的优势就是提高并发量,如果想要持续提升就多布置几台电脑就可以了。
他的问题就是多个节点如何都访问到,我们就可以用负载均衡解决。我们可以根据不同的节点性能分配不同的访问量。我们使用的负载均衡可以是nginx等;
微服务
他与分布式差不多,但是由有区别。区别就是分布式部署在多台电脑上而微服务可以在一台电脑上部署多个,但是端口号不能一致。
微服务框架
SpringCloud、dubbo+zookeeper(阿里)
SpringCloud:功能全面,与spring系列无缝整合
Dubbo:功能比较单一,需要配合zookeeper一起使用。一些阿里系的公司在大量使用。