跳转至

微服务

对微服务的理解

微服务是一种将大型应用程序拆分成多个小型、独立的服务的架构风格。每个微服务都可以独立开发、部署、扩展和维护,并且通过轻量级的通信机制进行交互。微服务架构具有以下优点:

  • 高可扩展性:可以根据不同服务的负载需求,独立地扩展相应的服务实例,提高系统的整体性能和可扩展性。
  • 敏捷开发与部署:每个微服务可以由不同的团队独立开发和部署,加快了软件开发和部署的速度,提高了团队的工作效率。
  • 技术多样性:不同的微服务可以根据其具体业务需求,选择最合适的技术栈进行开发,充分发挥各种技术的优势。
  • 高可靠性:当某个微服务出现故障时,只会影响到该服务本身,不会导致整个系统崩溃,提高了系统的可靠性和稳定性。

Spring Cloud 和 Spring Cloud Alibaba 的区别

  • 技术生态
    • Spring Cloud:是一系列框架的集合,提供了服务治理、配置管理、分布式链路追踪等功能,生态体系较为成熟,基于 Netflix 等开源项目。
    • Spring Cloud Alibaba:是阿里巴巴开源的微服务解决方案,整合了阿里巴巴的一些优秀中间件,如 Nacos、Sentinel 等,更适合国内的技术生态和业务场景。
  • 服务治理
    • Spring Cloud:使用 Eureka 等作为服务注册中心,Ribbon 等作为负载均衡器。
    • Spring Cloud Alibaba:使用 Nacos 作为服务注册中心和配置中心,同时提供了更强大的服务治理功能,如流量控制、熔断降级等,通过 Sentinel 实现。
  • 配置管理
    • Spring Cloud:通过 Spring Cloud Config 实现配置管理,需要结合 Git 等版本控制系统来存储配置文件。
    • Spring Cloud Alibaba:使用 Nacos 作为配置中心,提供了更便捷的配置管理方式,支持配置的动态更新和多环境管理。

什么是 nacos

Nacos 是一个易于使用的动态服务发现、配置管理和服务管理平台。它提供了以下功能:

  • 服务注册与发现:允许微服务将自己注册到 Nacos 服务器上,并从 Nacos 服务器获取其他微服务的地址信息,实现服务之间的动态发现和调用。
  • 配置管理:提供了集中式的配置管理功能,允许将微服务的配置信息存储在 Nacos 服务器上,并支持配置的动态更新,使微服务能够实时获取最新的配置信息。
  • 服务管理:包括服务的健康检查、流量管理、熔断降级等功能,帮助开发者更好地管理和维护微服务