SpringCloud微服务项目实战 - 项目搭建

news2024/9/21 14:50:48

面对大河我无限惭愧
我年华虚度空有一身疲倦

在这里插入图片描述


系列文章目录

  1. 项目搭建
  2. app登录


一、项目介绍

1. 项目背景

项目概述:

类似于新闻头条,是一个新闻资讯类项目

(这里之后放项目APP端的截图)

技术架构:
在这里插入图片描述

项目术语:

术语描述平台
用户移动端头条APP用户移动端APP
媒体人通过自媒体系统发送文章的用户PC端自媒体系统
管理员使用PC端头条管理系统的用户PC端管理系统

2. 技术栈说明

基础层:
在这里插入图片描述

服务层:
在这里插入图片描述


3. 流程规划

开发流程:

内容技术点
环境搭建springboot、springcloud、nacos、swagger
文章列表查看freemarker、OSS、CDN、ElasticSearch、Redis
热点文章计算kafka、kafkaStream、xxl-job、Redis
CMS自媒体端文章发布审核第三方接口、延迟队列
项目部署、数据迁徙Hbase、Jenkins、Git、Docker

设计知识点:

  • 综合知识的运用: springboot、springcloud、nacos、redis、docker、elasticSearch、kafka、seata…
  • 业务或技术解决方案: 分布式事物、分布式任务调度、延迟队列、异步线程、热数据的处理、评论系统、关注点赞…
  • 软硬编程思想提升: 业务分析、设计、编码、测试、部署…



二、Nacos

1. vmware

vmware虚拟机安装地址: https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html

在这里插入图片描述

安装完成后,下载虚拟机镜像: https://pan.baidu.com/s/1tBOqX5TKu18iCGSeMZKDzQ?pwd=abcd

打开虚拟机 解压后的镜像
在这里插入图片描述

修改虚拟网络地址(NAT)为 200
在这里插入图片描述

修改虚拟机的网络模式为NAT
在这里插入图片描述

启动虚拟机:
用户名:root,密码:itcast,ip:192.168.200.130
在这里插入图片描述

2. FinalShell

FinalShell安装包地址: https://pan.baidu.com/s/1UmIUqgQhsYKno2LuYBZpng?pwd=abcd

连接虚拟机(SSH连接,账号密码:root/itcast):
在这里插入图片描述

3. Nacos

Nacos访问地址: http://192.168.200.130:8848/nacos
在这里插入图片描述

Nacos的拉取和容器创建已经提前做了,命令如下:

# docker拉取镜像 
docker pull nacos/nacos-server:1.2.0

# 查看全部镜像
docker images

# 创建容器
docker run --env MODE=standalone --name nacos --restart=always  -d -p 8848:8848 nacos/nacos-server:1.2.0

# 列出容器
docker ps

# 查看日志
docker logs -f 【容器id】



二、初始工程搭建

1. 环境准备

JDK1.8、maven-3.6.1

轻量级初始工程: https://pan.baidu.com/s/1VeSL11Lg8-V32ciBcWtGjA?pwd=abcd

maven仓库地址: https://pan.baidu.com/s/1I-ZQraD4M08F33HS5Mv-Ww?pwd=abcd
在这里插入图片描述

编码编码格式
在这里插入图片描述


2. 工程结构

  • heima-leadnews - - - - - 父工程统一管理项目依赖,继承springboot
    • heima-leadnews-common - - - - - 一些通用的配置
    • heima-leadnews-feign-api - - - - - feign对外的接口
    • heima-leadnews-model - - - - - pojo、dto
    • heima-leadnews-utils - - - - - 通用的工具
    • heima-leadnews-gateway - - - - - 管理网关工程
    • heima-leadnews-service - - - - - 管理微服务
    • heima-leadnews-test - - - - - 一些测试案例

3. 全局异常

在这里插入图片描述

不可控异常处理(了解)src/main/java/com/heima/common/exception/ExceptionCatch.java

@ControllerAdvice  //控制器增强类
@Slf4j
public class ExceptionCatch {

    /**
     * 处理不可控异常
     * @param e
     * @return
     */
    @ExceptionHandler(Exception.class)
    @ResponseBody
    public ResponseResult exception(Exception e){
        e.printStackTrace();
        log.error("catch exception:{}",e.getMessage());

        return ResponseResult.errorResult(AppHttpCodeEnum.SERVER_ERROR);
    }

    /**
     * 处理可控异常  自定义异常
     * @param e
     * @return
     */
    @ExceptionHandler(CustomException.class)
    @ResponseBody
    public ResponseResult exception(CustomException e){
        log.error("catch exception:{}",e);
        return ResponseResult.errorResult(e.getAppHttpCodeEnum());
    }
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/58126.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu18.04安装ROS、Gazebo、Mavros、PX4、QGC教程

修改国内源 修改apt sudo cp /etc/apt/source.list /etc/apt/source.list.old sudo gedit /etc/apt/source.list输入如下进行保存 deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic m…

转行|什么是游戏建模??小本本记下来

今天来说一下游戏建模…小本本记下来 👀3D手绘建模 3D美术设计师根据原画设计师的构思,将二维的东西在3D软件里面制作出来,最终得到的东西是模型( 3Dmax )和贴图(软件PS、Bodypaint ) ,模型是物体的主要构架&#xff…

Kaggle Feedback Prize 3比赛总结:两种模型设计思路

比赛的目标:本次竞赛的目标是评估8-12年级英语学习者(ELLs)的语言能力。利用英语学习者所写的论文数据集开发出能更好地支持所有学生的能力模型,帮助ELL学生在语言发展方面得到更准确的反馈,并加快教师的评分周期。 方…

RestTemplate使用InputStreamResource上传文件

背景 1. 我们应用服务是Spring boot项目,预览服务是我们另一个团队提供的用.net写的,最终使用的是office online来实现文件预览的功能。 2. 我们文件在阿里云OSS存储,我们需要预览文件需要将文件上传至预览服务器。 3. 计划使用RestTemplate…

线程池自查注意点

文章目录线程池自查注意点1、线程池的标准创建方式2、线程池的任务调度流程3、避免使用Executors快捷创建线程池3.1、newSingleThreadExecutor()3.2、newCachedThreadPool()3.3、ScheduledThreadPool()4、避免在方法中创建线程池5、不要盲目使用同步队列6、使用线程池&#xff…

MySQL库的操作

文章目录MySQL库的操作创建数据库创建数据库案例字符集和校验规则查看系统默认字符集以及校验规则查看数据库支持的字符集查看数据库支持的字符集校验规则校验规则对数据库的影响操纵数据库查看数据库显示创建语句修改数据库删除数据库备份和恢复数据库的备份和恢复表的备份和恢…

Cracking the Safes之Linux系统下gdb调试

Cracking Safe是什么 挑战是找出四个保险箱中每个保险箱预期的正确的5个输入集。在运行二进制安全程序时,您需要一次输入一个猜测,如下所示: 其实,就是输入5次,程序会对输入内容进行判断,只有符合程序要求才能成功,任务就是逆向找到正确的字符串!!! 解题思路 反汇…

mac pro M1(ARM)安装:centos8.0虚拟机

0.引言 mac发布了m1芯片,其强悍的性能收到很多开发者的追捧,但是也因为其架构的更换,导致很多软件或环境的安装成了问题,之前我们讲解了如何安装centos7。这次我们接着来看如何在mac m1环境下安装centos8 1.下载 1.1 安装VMwar…

Java基于springboot+vue的五金用品销售购物商城系统 前后端分离

五金用品是当前很多家庭和维修人员必备的工具,他们可以让维修变的更加简单,甚至有很多维修必须有配套的专业工具才能够完成,但是很多时候人们在五金店购买这些五金用品的时候不是价格昂贵就是缺少一些想要的工具,这个是通过开发一…

Guava 对 Map的操作

Guava是google公司开发的一款Java类库扩展工具包,内含了丰富的API,涵盖了集合、缓存、并发、I/O等多个方面。使用这些API一方面可以简化我们代码,使代码更为优雅,另一方面它补充了很多jdk中没有的功能,能让我们开发中更…

C语言刷题(2)

🐒博客名:平凡的小苏 📚学习格言:别人可以拷贝我的模式,但不能拷贝我不断往前的激情 文件拷贝 问题描述: 小蓝正在拷贝一份文件,他现在已经拷贝了 t 秒时间,已经拷贝了 c 字节&#…

解决eclipse导入svn项目报 403Forbidden

解决eclipse导入svn项目报 403Forbidden问题; 首先,产生这个问题的原因:①导入的svn项目没有权限;②上次导入的svn项目在身份验证的时候保存了用户名以及密码;(我遇到这个情况的原因是因为②) …

个人网页制作 个人网页设计作业 HTML CSS个人网页模板 大学生个人介绍网站毕业设计 DW个人主题网页模板下载 个人网页成品代码 个人网页作品下载

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

编码器的电路介绍

编码器的结构特点以及以及使用 对于8线到三线的编码器,一定是八线输入,三线输出,有十一条线 但是74HC148是一个16引脚的芯片 有十一线上述的信号,还有电源线以及地线,此时我们就有了13条线 另外的线则是归于控制信…

kubernetes深入理解之Service

版权声明:本文为CSDN博主「开着拖拉机回家」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 主页地址:开着拖拉机回家的博客_CSDN博客-Linux,Java基础学习,MySql数据库领域博主 目录 一、概述 1.1 Serv…

【salesforce平台基础】-想到啥写点啥

【salesforce基础】-想到啥写点啥1.salesforce架构2.学习过程中常见的几个“公司”🤭3.术语4.平台的用途(举例说明)5.AppExchange(软件应用商店)6.sandbox7.平台入门1.salesforce架构 salesforce是一家云公司&#xf…

7.关于线性回归模型的QA

为什么使用平方损失而不是绝对差值呢? 答: 二者区别不大,但是绝对差值是一个不可导的函数,在零点的时候,绝对差值的导数会有点难求。 损失为什么要求平均? 答:求平均的话,梯度是在…

原语科技宣布完成千万级天使+轮融资,致力于打造隐私计算标准化产品

原语科技 开放隐私计算 开放隐私计算 开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神,专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的传播,愿成为中国 “隐私计算最后一公里的服务区”。 180篇…

【基础算法】多项式三大运算 C++实现

●多项式计算 一维多项式就是包含一个变量的多项式,一个一维多项式示例如下: 一维多项式求值就是对于上述多项式,计算在指定的x处的函数值。一个通用的计算多项式值的算法可以采用递推的方式,可以将上述多项式变为如下的等价形式…

位运算 离散化 区间和算法

目录一、位运算1.1 思路1.1 例题:二进制中1的个数二、离散化2.1 概念2.2 例题:区间和三、合并区间3.1 概念3.2 例题:合并区间一、位运算 1.1 思路 首先知道一个概念:一个正整数的负数等于其按位取反后1 -x ~x 1 举个例子&…