集群、负载均衡、微服务、分布式的区别一看就懂不在迷惑
日期:2020-06-27
来源:程序思维浏览:2968次
有些人对集群、负载均衡、微服务、分布式比较模糊,不知道他们具体是干什么的,今天就和大家说说他们的区别:
集群
多台主机干同样的事
比如web容器,只使用一个主机:
这个主机发生故障,直接gg。
数据库并发量大时,这个主机负担很大
数据库集群:使用多个主机,这些主机上都运行web容器。
某些主机发生故障,其它主机还能工作,影响不大
更好应对并发
常见的集群:
web服务器集群,比如tomcat集群
数据库集群(读写分离)
缓存集群,比如redis集群
搜索引擎集群
负载均衡(Load Balancer)
集群之后,一大片主机都干同样的事儿,具体交给哪台机器处理呢?这就需要单独使用一台机器来完成负载均衡。
请求发送给负载均衡的服务器,由负载均衡服务器决定发给集群中的哪个机器来处理。
微服务:将一个大项目拆分为多个子模块
传统的项目是单体应用,如果项目很大,升级维护会很麻烦,修改某一模块,需要重新部署整个项目。
微服务是把子模块抽取出来,变成一个个微服务,可单独修改、部署,在项目主体中调用这些微服务即可。微服务之间通过消息队列来通信。
分布式
将一个大的项目、应用划分为多个子模块,单独部署到多个主机上。
比如将web容器单独安装到一台主机上,把redis单独安装到一个主机上,把数据库单独安装到一个主机上,协同完成一个项目。
分布式是一个很笼统的概念,集群、微服务也算是分布式的。
分布式储存
有时需要将数据以文件形式储存到硬盘,比如session钝化、对象序列化、上传文件的储存、大数据储存等。
我们专门用一堆主机来储存文件,并进行储存储优化、备份,将这些文件映射到一个虚拟的文件系统中,实现分布式存储。
集群
多台主机干同样的事
比如web容器,只使用一个主机:
这个主机发生故障,直接gg。
数据库并发量大时,这个主机负担很大
数据库集群:使用多个主机,这些主机上都运行web容器。
某些主机发生故障,其它主机还能工作,影响不大
更好应对并发
常见的集群:
web服务器集群,比如tomcat集群
数据库集群(读写分离)
缓存集群,比如redis集群
搜索引擎集群
负载均衡(Load Balancer)
集群之后,一大片主机都干同样的事儿,具体交给哪台机器处理呢?这就需要单独使用一台机器来完成负载均衡。
请求发送给负载均衡的服务器,由负载均衡服务器决定发给集群中的哪个机器来处理。
微服务:将一个大项目拆分为多个子模块
传统的项目是单体应用,如果项目很大,升级维护会很麻烦,修改某一模块,需要重新部署整个项目。
微服务是把子模块抽取出来,变成一个个微服务,可单独修改、部署,在项目主体中调用这些微服务即可。微服务之间通过消息队列来通信。
分布式
将一个大的项目、应用划分为多个子模块,单独部署到多个主机上。
比如将web容器单独安装到一台主机上,把redis单独安装到一个主机上,把数据库单独安装到一个主机上,协同完成一个项目。
分布式是一个很笼统的概念,集群、微服务也算是分布式的。
分布式储存
有时需要将数据以文件形式储存到硬盘,比如session钝化、对象序列化、上传文件的储存、大数据储存等。
我们专门用一堆主机来储存文件,并进行储存储优化、备份,将这些文件映射到一个虚拟的文件系统中,实现分布式存储。
精品好课