# 微服务入门 **Repository Path**: ssmV/springcloud-demo ## Basic Information - **Project Name**: 微服务入门 - **Description**: 微服务入门工程 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-22 - **Last Updated**: 2023-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README dx

Jry-Cloud v1.0.0

基于 Vue/Element UI 和 Spring Boot/Spring Cloud & Alibaba 前后端分离的分布式微服务架构

## 平台简介 以开源的一整套微服务框架整合为基础,重构升级为微服务基础开发平台。 * 采用前后端分离的模式,微服务版本前端。 * 后端采用Spring Boot、Spring Cloud & Alibaba。 * 注册中心、配置中心选型Nacos,权限认证使用Redis。 * 流量控制框架选型Sentinel,分布式事务选型Seata。 ## 系统模块 ~~~ com.jry ├── jry-cloud-ui // 前端框架 [80] ├── jry-cloud-gateway // 网关模块 [8080] ├── jry-cloud-auth // 认证中心 [9200] ├── jry-cloud-api // 接口模块 │ └── jry-cloud-api-system // 系统接口 ├── jry-cloud-common // 通用模块 │ └── jry-cloud-common-core // 核心模块 │ └── jry-cloud-common-datascope // 权限范围 │ └── jry-cloud-common-datasource // 多数据源 │ └── jry-cloud-common-log // 日志记录 │ └── jry-cloud-common-redis // 缓存服务 │ └── jry-cloud-common-security // 安全模块 │ └── jry-cloud-common-swagger // 系统接口 ├── jry-cloud-modules // 业务模块 │ └── jry-cloud-system // 系统模块 [9201] │ └── jry-cloud-gen // 代码生成 [9202] │ └── jry-cloud-job // 定时任务 [9203] │ └── jry-cloud-file // 文件服务 [9300] ├── jry-cloud-visual // 图形化管理模块 │ └── jry-cloud-visual-monitor // 监控中心 [9100] ├──pom.xml // 公共依赖 ~~~ ## 架构图 ## 内置功能 1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 3. 岗位管理:配置系统用户所属担任职务。 4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 7. 参数管理:对系统动态配置常用参数。 8. 通知公告:系统通知公告信息发布维护。 9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 10. 登录日志:系统登录日志记录查询包含登录异常。 11. 在线用户:当前系统中活跃用户状态监控。 12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 14. 系统接口:根据业务代码自动生成相关的api接口文档。 15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 16. 在线构建器:拖动表单元素生成相应的HTML代码。 17. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 ## 使用步骤 ```bash # 1 mysql # 1.1 安装mysql,推荐mysql5.7绿色版,网上下载 # 1.2 配置mysql,可以参考本工程中的/sql/数据库配置文档.doc # 1.3 运行mysql # 1.4 在数据库中创建jry-cloud库,字符集utf8mb4,utf8mb4 utf8mb4_general_ci,导入/sql/jry_system.sql # 2 nacos # 2.1 下载nacos,可以是最新版2.2.1,把官方基础数据库导入mysql,本工程例子中的数据库名称为nacos_demo,可以自定义,与conf/application.properties中的配置对应即可 # 2.2 修改nacos配置文件,nacos所在目录下conf/application.properties,以mysql的用户名、密码均为root为例,可以参照工程中的/nacos/conf/application.properties # 2.3 导入nacos配置数据,导入工程中/sql/nacos_demo.sql到nacos的数据库中,本工程例子中的数据库名称为nacos_demo,注意本sql对应的nacos版本号2.1+,老版本没有密钥字段,可能报错 # 2.4 运行nacos,修改startup.cmd中的MODE,将集群cluster改为单体standalone,可以参照工程中的/nacos/bin/startup.cmd # 2.5 (非必须)登录nacos,登录地址localhost:8848/nacos,用户名密码默认都是naocs(在每个子服务的配置文件bootstrap.yml有对应值) # 2.6 (非必须)登录nacos后,可以查看注册中心,左侧的“服务管理”-“服务列表”就是注册中心 # 2.7 (非必须)登录nacos后,可以查看配置中心,左侧的“配置管理”-“配置列表”就是配置中心,可以修改对应的子服务的启动配置(如修改数据库连接密码等) # 3 redis # 3.1 下载redis,搜索“windows redis 5.0”下载安装 # 3.2 本工程无需修改配置,默认无密码即可。 # 3.3 将redis安装完成的目录加入环境变量path中,然后运行redis-server.exe --service-install redis.windows.conf,使redis加入到系统服务 # 3.4 运行redis # 3.5 (非必须),redis管理工具可以用Another Redis Desktop Manager,上网下载即可 # 4 运行后台api # 4.1 更新maven # 4.2 查看开发环境,要求语言环境为jdk8 # 4.3 直接运行JryAuthApplication、JryGatewayApplication、JrySystemApplication # 4.4 如果看到mysql连接报错,查看mysql的启动状态,如果启动无误,登录nacos,修改报错子服务的数据库连接密码 # 4.5 如果看到redis连接报错,查看redis是否启动成功,默认redis无密码,如果自己添加了启动密码,在nacos的对应子服务中也要输入密码 # 5 运行前端ui # 5.1 安装依赖,安装nodejs,在jry-cloud-ui文件夹,用管理员权限打开cmd,运行npm install,如果慢或者失败,可以换为国产源(npm config set registry https://registry.npm.taobao.org),注意不要用cnpm等第三方工具,就用npm # 5.2 启动前端,在jry-cloud-ui文件夹下,运行命令npm run dev # 5.3 建议用前端开发工具vscode或webstorm运行jry-cloud-ui,用idea慢、效率低 # 5.4 如果安装依赖成功,但启动失败,可能是本地node版本过高,可以在换npm run dev2启动 ```