微服务架构具有许多优点,其中一些主要优点包括:
-
松耦合性:每个微服务都是独立的,可以独立部署、独立扩展和独立更新,这种松耦合性使得系统更加灵活,易于维护和演化。
-
技术多样性:由于每个微服务都是独立的,因此可以使用不同的编程语言、框架和技术栈来构建不同的微服务,从而选择最适合特定任务的技术。
-
容错性:由于微服务之间是独立的,因此一个微服务的故障不会影响整个系统,系统可以通过断路器等机制对故障进行隔离和处理,提高系统的容错性和稳定性。
-
快速交付:微服务架构使得团队可以独立开发、测试和部署微服务,从而缩短了开发周期,实现更快速的产品交付和迭代。
-
易于理解和维护:每个微服务都相对较小且职责单一,因此易于理解和维护,开发者可以更专注于每个微服务的实现细节。
综上所述,微服务架构通过提高灵活性、可扩展性和可维护性等方面的优势,使得开发和运维团队能够更好地应对复杂的业务需求和变化。
微服务结构:
一个请求要经过网关才能路由到各个微服务:授权、限流、登入、日志。
项目中一共要创建三个网关:admin平台管理网关、自媒体网关、app网关 ;
网关校验JWT:
通过反向代理找到后端,静态资源访问前端;
MinIO分布式文件系统:性能高,部署自带管理界面,提供了所有开发语言的SDK;
在nacos配置中心配置过后微服务才可以访问数据库资源 :
Nginx是一个高性能的Web服务器和反向代理服务器,主要用于处理HTTP请求、负载均衡、反向代理、HTTP缓存等功能,适用于构建Web应用和服务的基础设施。
-
Web服务器:Nginx可以作为静态内容的Web服务器,能够快速、高效地提供静态资源(如HTML、CSS、JavaScript文件)的访问。
-
反向代理:Nginx可以作为反向代理服务器,将客户端的请求转发给后端的多个服务器,从而隐藏后端服务器的真实IP地址和域名,提高系统的安全性和可靠性。
Nacos是一个用于实现动态服务发现、服务配置和服务管理的开源平台,主要用于微服务架构中的服务注册与发现、配置管理、流量控制等功能,适用于构建基于微服务架构的分布式系统和云原生应用。
-
服务发现与注册:Nacos允许微服务应用注册自己的实例,并发现其他微服务应用的实例,从而实现微服务架构中的服务发现功能。
-
配置管理:Nacos提供了统一的配置管理平台,允许微服务应用动态地获取配置信息,支持配置的实时更新和版本管理,从而实现微服务架构中的配置中心功能。
Nginx和Nacos是两个完全不同的软件,它们的作用和功能也有很大的差异。
-
作用与功能:
- Nginx是一个高性能的Web服务器和反向代理服务器,主要用于处理HTTP请求、负载均衡、反向代理、HTTP缓存等功能,适用于构建Web应用和服务的基础设施。
- Nacos是一个用于实现动态服务发现、服务配置和服务管理的开源平台,主要用于微服务架构中的服务注册与发现、配置管理、流量控制等功能,适用于构建基于微服务架构的分布式系统和云原生应用。
-
应用场景:
- Nginx适用于构建Web应用和服务的基础设施,可以用于搭建静态内容的Web服务器、反向代理服务器、负载均衡器等,主要用于处理HTTP请求和提供静态资源访问。
- Nacos适用于构建基于微服务架构的分布式系统和云原生应用,主要用于实现微服务架构中的服务注册与发现、配置管理、流量控制等功能,帮助开发人员更好地管理和维护微服务应用。
-
功能重点:
- Nginx的重点是在网络层面上提供高性能的HTTP服务和代理功能,主要关注于处理HTTP请求、负载均衡和缓存等。
- Nacos的重点是在微服务架构中提供服务注册与发现、配置管理和服务治理等功能,主要关注于微服务应用的注册、配置和管理。
综上所述,Nginx和Nacos是两个不同领域的软件,各自解决不同层次的问题,适用于不同的应用场景和需求。
消息中间件对比:
选择建议: