分布式是以缩短单个任务的执行时间来提升效率的;而集群则是通过提高单位时间内执行的任务数来提升效率。
分布式是指将不同的业务分布在不同的地方。
集群指的是将几台服务器集中在一起,实现同一业务。
分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。
分布式
把一个业务,拆分成多个业务,然后部署到不同的服务器上,这就是分布式。
集群
Java 集群是将多台服务器连接起来,通过负载均衡、故障转移等机制,提高系统的可用性和性能。集群的优点在于集中管理、提高可用性和可伸缩性等方面。Java 集群的具体实现方式包括 HAProxy、Keepalived、Nginx、Apache 和 Tomcat 等。
一个业务,部署在多台服务器上,这就是集群。这里的一个业务,可以直接看做一个程序包。
微服务
微服务是指将单体应用拆分成多个微小服务,每个服务独立运行、独立部署,服务间通过 API 接口协同工作,而不是通过调用外部库实现交互。Java 微服务架构的优点是拆分、独立部署、可伸缩性和并行开发等方面。微服务的核心在于服务的拆分和服务间的协作,具体的实现方式包括 Spring Boot、Netflix OSS、Dubbo 和 gRPC 等。