1、微服务项目-Pig-分析
微服务项目-Pig-分析
目录
[toc]
单体架构与微服务
复杂的单体结构应用拆分成微服务
单体架构 | 应用程序的所有组件都组合在一起。(用户界面,业务逻辑,数据访问)对系统任何部分的更改通常也需要对其他部分进行修改。 在小型项目中优势大: 简单且易于部署。在大型复杂项目中存在一些管理上的劣势。 | 可维护性:随着时间,管理和维护架构变得越来越具有挑战性; 可扩展性:扩展的是整个应用而不是单个组件; 可容错性:其中的组件出现问题会影响整体的服务; |
---|---|---|
微服务架构 | 微服务架构是一种软件开发方法,它将应用程序划分为小型、独立的服务。 | 独立开发、部署、扩展而不影响其他服务; 每个服务都专注于特定的业务功能,并通过 API 或消息传递系统与其他服务进行通信。 |
单体 | 微服务 | |
---|---|---|
架构复杂性 | 更简单、更直接的架构。一切都是统一的,存在于同一 个环境中,更容易管理和控制。 | 在处理大型且复杂的应用程序时成为优势,提供更好的灵活性和可扩展性。 |
可扩展性 | 扩展需要复制整个应用程序。占用大量资源且效率低下。 | 仅扩展指定的服务,更高效、更具成本效益的解决方案。支持水平扩展,允许随着业务的增长添加更多机器或资源。 |
开发与部署 | 每次更改或更新都需要完全重新部署应用程序。导致开发周期更长并增加部署失败的风险。 | 对单个服务进行更改或更新,实现更快、更可靠的部署、更短的开发周期并提高生产力。然而,微服务也使部署变得更加复杂,因为需要协调每个微服务的多个部署。 |
技术栈 | 统一的技术堆栈(单一团队) | 为不同服务使用不同技术堆栈的自由。(多技术栈团队) |
总结 :
单体和微服务是两种架构类型,各自有对应的优点和缺点。具体拆分还要以实际的项目评估是否达到了微服务级别,不恰当的拆分可能造成成本增加。
项目简介
- 基于 Spring Cloud 、Spring Boot、 OAuth2 的 RBAC 企业快速开发平台, 同时支持微服务架构和单体架构
- 提供对 Spring Authorization Server 生产级实践,支持多种安全授权模式
- 提供对常见容器化方案支持 Kubernetes、Rancher2 、Kubesphere、EDAS、SAE 支持
来源:https://gitee.com/log4j/pig/blob/jdk17/README.md
官方文档:https://www.yuque.com/pig4cloud/pig/gg3ndm
前端-UI (pig-ui)
后端
核心依赖
依赖 | 版本 |
---|---|
Spring Boot | 3.2.4 |
Spring Cloud | 2023.0.1 |
Spring Cloud Alibaba | 2022.0.0.0 |
Spring Authorization Server | 1.2.4 |
Mybatis Plus | 3.5.6 |
Vue | 3.4 |
Element Plus | 2.6 |