分享一个基于SpringCloud的微服务项目

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,182元/月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
简介: 最近有小伙伴私信孟哥,想要一个微服务的项目,必须安排呀!

最近有小伙伴私信孟哥,想要一个微服务的项目,必须安排呀!


1、 系统搭建步骤


1.1、安装Redis服务端和客户端


1.2、导入数据库


创建数据库ry-cloud并导入数据脚本ry_20210108.sql(必须),quartz.sql(可选)


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mySZFRRr-1631055968558)(images\01.png)]


导入数据脚本ry_config_20201222.sql


系统的视频教程:


https://www.bilibili.com/video/BV1E5411J7L9?p=2&spm_id_from=pageDriver


微信图片_20221009190332.png


1.3、安装Nacos并配置MySQL数据库连接


Nacos中文文档地址:


https://nacos.io/zh-cn/docs/quick-start.html


微信图片_20221009190340.png


下载地址:


https://github.com/alibaba/nacos/releases


微信图片_20221009190344.png


修改E:\program\nacos-server-1.4.1\nacos\conf\application.properties的第43行如下:


|spring.datasource.platform=mysql
|db.num=1
|db.url.0=jdbc:mysql://localhost:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
|db.user=root
|db.password=123456

微信图片_20221009190357.png

修改E:\program\nacos-server-1.4.1\nacos\bin\startup.cmd,设置启动模式为单机模式


微信图片_20221009190402.png


双击startup.cmd启动nacos:


微信图片_20221009190408.png


访问地址:http://localhost:8848/nacos


账号nacos密码nacos


微信图片_20221009190413.png


1.4、引入RuoYi-Cloud


引入项目


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HhTUnXBs-1631055968570)(images\08.png)]


maven要配置成本地的路径


微信图片_20221009190417.png


maven要使用国内镜像,用aliyun的:


|<mirror>
| <id>alimaven</id>
| <name>aliyun maven</name>
| <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
| <mirrorOf>central</mirrorOf>        
|</mirror>


1.5、启动后端


修改数据库连接信息:


微信图片_20221009190422.png


启动后端:


打开运行基础模块(启动没有先后顺序)


  • RuoYiGatewayApplication (网关模块 必须)
  • RuoYiAuthApplication (认证模块 必须)
  • RuoYiSystemApplication (系统模块 必须)
  • RuoYiMonitorApplication (监控中心 可选)
  • RuoYiGenApplication (代码生成 可选)
  • RuoYiJobApplication (定时任务 可选)
  • RuoYFileApplication (文件服务 可选)


启动三个基础模块:


微信图片_20221009190426.png


在Nacos里显示已经启动的三个基础模块:


微信图片_20221009190429.png


1.6、启动前端


|# 进入项目目录
|cd ruoyi-ui
|
|# 安装依赖
|npm install
|
|# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
|npm install --registry=https://registry.npm.taobao.org
|
|# 本地开发 启动项目
|npm run dev


微信图片_20221009190433.png


打开浏览器,输入:(http://localhost ) 默认账户/密码 admin/admin123)

若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功


2、nginx配置


启动nginx:直接双击nginx.exe


重启nginx:nginx -s reload


杀死nginx: taskkill /f /t /im nginx.exe


/conf/nginx.conf修改如下:


|worker_processes  1;
|
|events {
|    worker_connections  1024;
|}
|
|http {
|    include       mime.types;
|    default_type  application/octet-stream;
|    sendfile        on;
|    keepalive_timeout  65;


 

|server {
|        listen       80;
|        server_name  localhost;
|        location / {
|
|            root   D:/course/RuoYi-Cloud/code/RuoYi-Cloud/ruoyi-ui/dist;
|            try_files $uri $uri/ /index.html;
|            index  index.html index.htm;
|        }
|
|        location /prod-api/{
|            proxy_set_header Host $http_host;
|            proxy_set_header X-Real-IP $remote_addr;
|            proxy_set_header REMOTE-HOST $remote_addr;
|            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|            proxy_pass http://localhost:8080/;
|        }
|
|        error_page   500 502 503 504  /50x.html;
|        location = /50x.html {
|            root   html;
|        }
|    }
| }


目录
相关文章
|
6月前
|
Java Maven Android开发
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
本文介绍了Spring Boot开发环境的搭建和项目启动流程。主要内容包括:jdk的配置(IDEA、STS/eclipse设置方法)、Spring Boot工程的构建方式(IDEA快速构建、官方构建工具start.spring.io使用)、maven配置(本地maven路径与阿里云镜像设置)以及编码配置(IDEA和eclipse中的编码设置)。通过这些步骤,帮助开发者顺利完成Spring Boot项目的初始化和运行准备。
518 0
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
|
6月前
|
Java 测试技术 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
85 0
|
6月前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——使用Logger在项目中打印日志
本文介绍了如何在项目中使用Logger打印日志。通过SLF4J和Logback,可设置不同日志级别(如DEBUG、INFO、WARN、ERROR)并支持占位符输出动态信息。示例代码展示了日志在控制器中的应用,说明了日志配置对问题排查的重要性。附课程源码下载链接供实践参考。
611 0
|
3月前
|
负载均衡 Java API
基于 Spring Cloud 的微服务架构分析
Spring Cloud 是一个基于 Spring Boot 的微服务框架,提供全套分布式系统解决方案。它整合了 Netflix、Zookeeper 等成熟技术,通过简化配置和开发流程,支持服务发现(Eureka)、负载均衡(Ribbon)、断路器(Hystrix)、API网关(Zuul)、配置管理(Config)等功能。此外,Spring Cloud 还兼容 Nacos、Consul、Etcd 等注册中心,满足不同场景需求。其核心组件如 Feign 和 Stream,进一步增强了服务调用与消息处理能力,为开发者提供了一站式微服务开发工具包。
436 0
|
6月前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
192 0
|
6月前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
在微服务架构中,随着业务复杂度增加,项目可能需要调用多个微服务。为避免使用`@Value`注解逐一引入配置的繁琐,可通过定义配置类(如`MicroServiceUrl`)并结合`@ConfigurationProperties`注解实现批量管理。此方法需在配置文件中设置微服务地址(如订单、用户、购物车服务),并通过`@Component`将配置类纳入Spring容器。最后,在Controller中通过`@Resource`注入配置类即可便捷使用,提升代码可维护性。
86 0
|
8月前
|
搜索推荐 NoSQL Java
微服务架构设计与实践:用Spring Cloud实现抖音的推荐系统
本文基于Spring Cloud实现了一个简化的抖音推荐系统,涵盖用户行为管理、视频资源管理、个性化推荐和实时数据处理四大核心功能。通过Eureka进行服务注册与发现,使用Feign实现服务间调用,并借助Redis缓存用户画像,Kafka传递用户行为数据。文章详细介绍了项目搭建、服务创建及配置过程,包括用户服务、视频服务、推荐服务和数据处理服务的开发步骤。最后,通过业务测试验证了系统的功能,并引入Resilience4j实现服务降级,确保系统在部分服务故障时仍能正常运行。此示例旨在帮助读者理解微服务架构的设计思路与实践方法。
387 17
|
8月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
283 7
|
7月前
|
传感器 监控 安全
智慧工地云平台的技术架构解析:微服务+Spring Cloud如何支撑海量数据?
慧工地解决方案依托AI、物联网和BIM技术,实现对施工现场的全方位、立体化管理。通过规范施工、减少安全隐患、节省人力、降低运营成本,提升工地管理的安全性、效率和精益度。该方案适用于大型建筑、基础设施、房地产开发等场景,具备微服务架构、大数据与AI分析、物联网设备联网、多端协同等创新点,推动建筑行业向数字化、智能化转型。未来将融合5G、区块链等技术,助力智慧城市建设。
310 0
|
8月前
|
Java 关系型数据库 数据库
微服务SpringCloud分布式事务之Seata
SpringCloud+SpringCloudAlibaba的Seata实现分布式事务,步骤超详细,附带视频教程
536 1