项目记录——week10/11/12/13
由于本项目采用的是微服务架构,而以前的前后端开发框架没有将服务进行拆分,所以在项目开发过程中遇到一些问题
本篇文章将简单介绍一下微服务架构、开发中遇到的问题以及如何进行解决的
一、微服务架构
微服务架构是一种软件开发方法,将应用程序分解为一组小的、独立的服务,每个服务运行在自己的进程中,并通过轻量级协议(通常是HTTP)相互通信。微服务架构强调服务的独立部署、开发和维护,使得开发团队能够更灵活地处理复杂的大型应用程序。
微服务架构的核心原则
- 服务自治:每个微服务独立开发、部署和运行,具有独立的数据库或数据存储。
- 专注单一职责:每个微服务只负责一个特定的业务功能或领域。
- 轻量级通信:服务间通过轻量级协议(如HTTP/REST、gRPC等)进行通信。
- 分布式管理:服务的管理、部署、监控和扩展是分布式的。
- 弹性和容错:系统具有高可用性和容错能力,服务之间的故障隔离能够防止单点故障。
- 技术异构性:允许不同服务使用不同的技术栈和编程语言。
微服务架构的主要组件
- API网关:作为所有客户端请求的入口,负责请求路由、协议转换、安全认证等。
- 服务注册与发现:服务注册中心记录所有可用的服务实例,服务发现机制帮助服务动态查找和连接其他服务。
- 负载均衡:分发请求到多个服务实例,提高系统的可用性和性能。
- 配置管理:集中管理和分发服务配置,确保配置的一致性和版本管理。
- 服务间通信:提供可靠的通信机制,如同步的HTTP/REST、异步的消息队列等。
- 日志和监控:收集和分析服务的运行日志,监控服务的健康状态和性能指标。
- 容器化和编排:使用容器技术(如Docker)和编排工具(如Kubernetes)进行服务的部署和管理。
微服务架构的优缺点
优点
- 提高开发效率:独立开发和部署,加快了开发周期和发布频率。
- 灵活性:不同服务可以使用最适合其需求的技术栈和工具。
- 可扩展性:独立扩展各个服