1、概念层面:
分布式系统:是指一组独立的计算机节点通过网络协同工作,共同完成一个大任务,这些节点各自拥有本地资源并在分布式的环境中相互协作。分布式系统的设计目标是为了提高系统的可靠性、可用性、可扩展性和稳定性。(把多个应用分布在不同的服务器上,提高应用的稳定性和可扩展性)
微服务架构:是一种特殊的分布式系统实现方式,它强调将单一的应用程序拆分成一系列小型、互相独立的服务。每个微服务都是一个小型的、完整的业务单元,包含了自己的业务逻辑、数据库及对外暴露的API接口。每个微服务都可以独立开发、部署、扩展和维护,并且可以使用不同的技术栈。微服务架构的核心理念是围绕业务能力组织服务,强调服务之间的松耦合和高内聚。(使用JSON+http可跨语言)
2、粒度划分
分布式系统中的服务划分粒度可大可小,可以包含多个紧密相关的业务功能。
微服务倾向于更为细粒度的服务划分,每个服务只专注于一个特定的业务功能,并力求做到“做一件事并做好”。
3、目标:
分布式系统旨在解决大型系统的计算能力和存储能力扩展问题,通过负载均衡、冗余备份等方式提高系统整体性能和稳定性。
微服务架构则着重于软件工程方面的优化,如简化开发流程、提升团队协作效率、加速新功能上线、适应快速变化的业务需求等。微服务进一步提升了系统的灵活性,但也带来了服务间通信、数据一致性、运维复杂性等方面的挑战。