KubeSphere 核心实战之四【在kubesphere平台上部署Ruoyi-cloud项目】(实操篇 4/4)

news2024/9/23 9:37:25
**《KubeSphere 核心实战系列》**

KubeSphere 核心实战之一(实操篇 1/4)

KubeSphere 核心实战之二(实操篇 2/4)

KubeSphere 核心实战之三(实操篇 3/4)

KubeSphere 核心实战之四(实操篇 4/4)

**《KubeSphere 核心实战系列》**

文章目录

    • 1、Rouyi-Cloud架构
    • 2、项目上云分析
    • 3、开始部署
      • 3.1、部署中间件
        • 3.1.1 部署mysql和redis
        • 3.1.2 mysql数据库迁移到云上mysql
        • 3.1.3 部署nacos
      • 3.2、部署ruoyi-cloud微服务模块前的准备
        • 3.2.1. 云上环境Dockerfile配置
        • 3.2.1. 微服务上云分析
        • 3.2.2. 制作微服务镜像并推送给个人阿里云镜像仓库
      • 3.3、部署ruoyi-cloud微服务模块上云
        • 3.3.1、部署规则
        • 3.3.2、ruoyi-visual-monitor微服务模块上云
        • 3.3.2、ruoyi-system微服务模块上云
        • 3.3.3、ruoyi-job微服务模块上云
        • 3.3.4、ruoyi-gen微服务模块上云
        • 3.3.5、ruoyi-gateway微服务模块上云
        • 3.3.5、ruoyi-file微服务模块上云
        • 3.3.6、ruoyi-auth微服务模块上云
        • 3.3.7、所有后端微服务和中间件服务总览
      • 3.4、部署ruoyi-cloud前端vue项目上云
        • 3.4.1、修改vue.config.js
        • 3.4.2、打包前端项目
        • 3.4.3、存放前端ruoyi-ui构建好的静态文件,用于nginx请求访问
        • 3.4.4、修改ngnix配置文件
        • 3.4.5、压缩上传到云服务器
        • 3.4.6、解压并制作镜像并推送到阿里云个人镜像仓库
        • 3.4.7、使用kubesphere平台部署ruoyi-cloud前端项目

1、Rouyi-Cloud架构

请添加图片描述

2、项目上云分析

将rouyi-cloud项目搬上云需要考虑的问题如下:

  • 1,项目中用到了多少中间件?中间件是有状态应用,有些中间件需要导入默认的数据后才能上云。

  • 2,ruoyi-cloud包含8个微服务子模块(带端口的模块对应一个微服务)

  - ruoyi-ui                  // 前端框架 [80]
  - ruoyi-gateway             // 网关模块 [8080]
  - ruoyi-auth                // 认证中心 [9200]
  - ruoyi-system              // 系统模块 [9201]
  - ruoyi-gen                 // 代码生成 [9202]
  - ruoyi-job                 // 定时任务 [9203]
  - ruoyi-file                // 文件服务 [9300]
  - ruoyi-visual-monitor      // 监控中心 [9100]

它们都是无状态的应用,自己写的微服务需要自己制作镜像(编写Dockerfile文件)。

  • 3,中间件和微服务上云以后,各个中间件和微服务之间的访问问题,涉及整个项目的网络拓扑模型;优先集群内网地址访问微服务中间件(使用内网ip或者内网域名)。

  • 4,每个微服务的配置如何分离(生产配置分离URL),生产环境与开发环境的配置分离。

请添加图片描述

  • 中间件:有状态、数据导入

  • 微服务:无状态、制作镜像

  • 网络:各种访问地址,各个微服务和中间件之间访问(通过集群内部网络进行)

  • 配置:生产配置分离、URL

每个微服务上云需要做的工作:

  • 1、每个微服务准备 bootstrap.properties,配置 nacos地址信息(默认使用本地链接),nacos配置中心中每个配置文件信息需要修改为上云后的mysql和redis链接地址。
  • 2、每个微服务准备Dockerfile,启动命令,指定线上nacos配置等。
  • 3、每个微服务制作自己镜像。

3、开始部署

3.1、部署中间件

根据ruoyi-cloud架构图分析得到,项目需要的中间件有三个,分别是:

  1. mysql(数据迁移:将若依的数据库迁移到云上的mysql中,共三个库)
  2. redis
  3. nacos(注册和配置中心)
3.1.1 部署mysql和redis

首先保证在kubesphere上已经部署好mysql和redis两个服务,具体部署流程参见我的上两篇博客:

  • redis部署:https://tigerhhzz.blog.csdn.net/article/details/135640662

  • mysql部署:https://tigerhhzz.blog.csdn.net/article/details/135623659

名称集群内访问地址集群外部访问地址
mysqlhis-mysql.his:3306192.168.162.31:30201
redishis-redis.his:6379192.168.162.31:30608
3.1.2 mysql数据库迁移到云上mysql

mysql数据库初始化导入,将ruoyi-cloud所需的三个数据库内容导入到部署好的mysql中;三个数据库如下:

  1. ry-cloud
  2. ry-config
  3. ry-seata

具体操作可以通过navicat工具中的数据传输进行数据库的迁移。

在这里插入图片描述

在这里插入图片描述

3.1.3 部署nacos

具体参见nacos的官方文档

https://nacos.io/docs/v2/guide/admin/cluster-mode-quick-start/
请添加图片描述

配置文件 application.properties
如果是集群配置nacos多一个配置文件:cluster.conf
挂载配置文件使用子路径进行挂载。

/home/nacos/conf/application.properties
/home/nacos/conf/cluster.conf

在这里插入图片描述

在kubesphere上创建nacos服务

  1. 首先创建nacos的配置
    请添加图片描述
    请添加图片描述
    使用子路径挂载nacose的两个配置文件:
    请添加图片描述
    上面配置文件别忘了修改mysql数据库的链接地址:his-mysql.his:3306 以及登录账号和密码。

  2. 创建nacos服务:

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

镜像名称:nacos/nacos-server:v2.1.0
nacos客户端下载地址:https://github.com/alibaba/nacos/releases/tag/2.0.3

请添加图片描述
这里补充一个bug:
因为nacos启动需要连接mysql数据库,当nacos服务启动了,然而mysql服务还没有准备就绪,此时会出现服务从nacos中读取配置文件失败的情况。

解决办法:使用探针,nacos服务中增加健康检查机制,定时向nacos容器组发请求来探究运行状况,如果状态是错误的,k8s就不断的重启服务,直到服务正常。

在这里插入图片描述

请添加图片描述

在这里插入图片描述

nacos数据没有挂载的,都存在mysql数据库;

创建一个外网能访问的nacos服务,以node方式访问,暴露外网端口
请添加图片描述
游览器访问nacos: 192.168.162.31:30986请添加图片描述
至此,我们部署完成nacos,redis和mysql 三个中间件服务。

接下来我们开始部署rouyi-cloud项目的微服务模块。

3.2、部署ruoyi-cloud微服务模块前的准备

根据ruoyi-cloud架构图分析得到:
首先是前端vue项目模块,用来用户发送请求到网关服务;网关模块接受到前端的请求后分发给各个微服务模块。

在这里插入图片描述

微服务部署
请添加图片描述

3.2.1. 云上环境Dockerfile配置
  1. nacos中创建prod命名空间:
    在这里插入图片描述

  2. 克隆dev环境中配置到prod命名空间中
    在这里插入图片描述

  3. Dockerfile文件

FROM openjdk:8-jdk
LABEL maintainer=tigerhhzz


#docker run -e PARAMS="--server.port 9090"
ENV PARAMS="--server.port=8080 --spring.profiles.active=prod --spring.cloud.nacos.discovery.server-addr=his-nacos.his:8848 --spring.cloud.nacos.config.server-addr=his-nacos.his:8848 --spring.cloud.nacos.config.namespace=prod --spring.cloud.nacos.config.file-extension=yml"
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

COPY target/*.jar /app.jar
EXPOSE 8080

#
ENTRYPOINT ["/bin/sh","-c","java -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar app.jar ${PARAMS}"]

启动镜像时,加一些额外的参数,每个微服务启动后对应一个pod,每个pod有不同的ip,但是端口都是8080,这样每个pod的访问地址就是唯一的。

规则:

1、容器默认以8080端口启动
2、时间为CST
3、环境变量 PARAMS 可以动态指定配置文件中任意的值,默认激活的是开发dev环境,去nacos配置中心中找xxxxx-dev.yml配置文件,应用上云打包镜像启动会自动激活生产环境pro,然后去nacos配置中心中找xxxxx-prod.yml配置文件。
4、nacos集群内地址为 his-nacos.his:8848   
5、微服务默认启动加载 nacos中  服务名-激活的环境.yml 文件,所以线上的配置可以全部写在nacos中。
3.2.1. 微服务上云分析

请添加图片描述
idea中使用maven打包jar包。
在这里插入图片描述
在这里插入图片描述
所用微服务模块打包成功。

编辑整理各个模块的jar和Dockerfile文件(每个微服务模块制作镜像的准备工作)
在这里插入图片描述
上传Dockerfile-images-ry整个文件夹到服务器(任何一个节点)
在这里插入图片描述

3.2.2. 制作微服务镜像并推送给个人阿里云镜像仓库

在这里插入图片描述

##打包镜像命令
docker build -t ruoyi-auth:v1.0  .

##查看镜像
docker images|grep ruoyi

在这里插入图片描述
在这里插入图片描述

创建阿里云个人镜像仓库

开通阿里云“容器镜像服务(个人版)

阿里云镜像服务参考官网地址:https://cr.console.aliyun.com/cn-hangzhou/instance/repositories

首先创建一个命名空间,默认仓库类型设置为公开

在这里插入图片描述
然后,在自己的命名空间下,创建一个镜像仓库:
在这里插入图片描述
最后,进行镜像推送

##登录阿里云Docker Registry
docker login --username=hehu****@126.com registry.cn-hangzhou.aliyuncs.com

##将镜像推送到Registry
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi:[镜像版本号]

在这里插入图片描述

把所有微服务镜像推送到个人阿里云镜像仓库。

docker push registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-auth:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-file:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-gateway:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-gen:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-job:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-system:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-visual-monitor:v1.0

在这里插入图片描述

思考两个问题:

  1. 手动一个个制作镜像,很费力费时,有没有一个自动化制作镜像流程?
  2. 这是使用了阿里云个人镜像仓库,有没有自己搭建公司仓库?一般开发中,搭建公司的habor私有仓库;专门存放项目镜像。

3.3、部署ruoyi-cloud微服务模块上云

ruoyi-cloud所用镜像都已经推送到个人阿里云镜像仓库:

3.3.1、部署规则

● 应用一启动会从云上nacos获取到 "应用名-激活的环境标识.yml"的配置文件

● 每次部署应用的时候,需要提前修改nacos线上配置,确认好每个中间件的连接地址是否正确

● 云上nacos配置文件中的中间件例如redis、mysql等链接地址一定是集群内的访问地址

在这里插入图片描述

在这里插入图片描述

3.3.2、ruoyi-visual-monitor微服务模块上云

整个操作在kubesphere云平台进行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看容器运行日志:
在这里插入图片描述

监控模块启动成功!!!

3.3.2、ruoyi-system微服务模块上云

阿里云镜像名称为:registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-system:v1.0
过程同3.3.1一样。

3.3.3、ruoyi-job微服务模块上云

阿里云镜像名称为:registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-job:v1.0
过程同3.3.1一样。

3.3.4、ruoyi-gen微服务模块上云

阿里云镜像名称为:registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-gen:v1.0
过程同3.3.1一样。

3.3.5、ruoyi-gateway微服务模块上云

阿里云镜像名称为:registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-gateway:v1.0
过程同3.3.1一样。

3.3.5、ruoyi-file微服务模块上云

阿里云镜像名称为:registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-file:v1.0
过程同3.3.1一样。

3.3.6、ruoyi-auth微服务模块上云

阿里云镜像名称为:registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-auth:v1.0
过程同3.3.1一样。

3.3.7、所有后端微服务和中间件服务总览

在这里插入图片描述
工作负载一览:
在这里插入图片描述
在这里插入图片描述

3.4、部署ruoyi-cloud前端vue项目上云

ruoyi-cloud前端是vue项目,端口是80
打包方式:其实就是ngnix镜像,将前端打包的文件夹放到ngnix指定文件夹下。

其实就是运行package.json文件中的脚本build:prod
在这里插入图片描述

3.4.1、修改vue.config.js

修改的内容是:
在这里插入图片描述
在这里插入图片描述

http://ruoyi-gateway.his:8080
3.4.2、打包前端项目

打包命令:

# 构建生产环境
npm run build:prod

在这里插入图片描述

3.4.3、存放前端ruoyi-ui构建好的静态文件,用于nginx请求访问

打包完毕后,会生成一个dist文件,然后将dist文件夹中的内容拷贝到如图下的位置中:

在这里插入图片描述

存放前端ruoyi-ui构建好的静态文件,用于nginx请求访问。

3.4.4、修改ngnix配置文件

在这里插入图片描述
修改后的 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  _;

        location / {
            root   /home/ruoyi/projects/ruoyi-ui;
            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://ruoyi-gateway.his:8080/;
        }

        # 避免actuator暴露
        if ($request_uri ~ "/actuator") {
            return 403;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
3.4.5、压缩上传到云服务器

压缩上传到集群内任意节点机子上。
在这里插入图片描述

3.4.6、解压并制作镜像并推送到阿里云个人镜像仓库

Dockerfile文件内容:

# 基础镜像
FROM nginx
# author
MAINTAINER ruoyi

# 挂载目录
VOLUME /home/ruoyi/projects/ruoyi-ui
# 创建目录
RUN mkdir -p /home/ruoyi/projects/ruoyi-ui
# 指定路径
WORKDIR /home/ruoyi/projects/ruoyi-ui
# 复制conf文件到路径
COPY ./conf/nginx.conf /etc/nginx/nginx.conf
# 复制html文件到路径
COPY ./html/dist /home/ruoyi/projects/ruoyi-ui

制作ngnix镜像:

docker build -t registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-ui:v1.0 -f dockerfile .

在这里插入图片描述
镜像制作成功:
在这里插入图片描述

推送到阿里云个人镜像仓库

docker push registry.cn-hangzhou.aliyuncs.com/tiger-ruoyi/ruoyi-ui:v1.0
3.4.7、使用kubesphere平台部署ruoyi-cloud前端项目

创建无状态服务
需要注意的时候,前端项目云部署暴露外网访问地址nodeport。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

前端项目启动成功:
在这里插入图片描述

如果内存不够,(启动无顺序限制)

 Auth服务和Gateway服务必须启动
 system服务如果你想访问后台就启动
 job和gen服务这两个一个是定时任务一个是代码生成 如果你有用得到就启动 反则不需要启动

在这里插入图片描述
在这里插入图片描述
前端项目启动成功!!至此所有服务都部署完成!!!

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

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

相关文章

Chiplet,汽车“芯”风向

异构集成、高速互联、算力灵活可扩展正在成为新一轮汽车芯片竞争的焦点。尤其是随着以ChatGPT为代表的大数据、大模型产品在车端的落地,对于芯片的要求还在持续提升。 本周,12家日本汽车制造商(包括丰田、日产、本田等)、零部件制…

数据结构之单链表详解

前言 之前大摆了5天多,没怎么学编程,自昨日起,觉不可如此,痛定思痛,开始继续学习,昨天刷了20多道简单级别的力扣,今天想把链表好好巩固一下,于是乎,把单链表的增删查改搞…

【linux|java应用报错】Cannot allocate memory

启动一个java应用报Cannot allocate memory,并且会生产一个hs_ess_pid.log文件。 文件内容为: #内存不足,Java运行时环境无法继续。 #本机内存分配(mmap)无法映射4294967296字节以提交保留内存。 【排查】 1、尝试使…

【日常总结】如何快速迁移Navicat中的全部连接设置到新安装的Navicat中?

一、场景 二、需求 三、解决方案 Stage 1:“文件”-->“导出连接”。 Stage 2:获取备份文件 connections.ncx Stage 3:导入connections.ncx 四、不足 一、场景 公司电脑换新,所有软件需要重装,包括navicat 1…

《golang设计模式》第三部分·行为型模式-10-模板方法(Template Method)

文章目录 1. 概述1.1 角色1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1. 概述 模板方法(Template Method)用来定义算法的框架,将算法中的可变步骤定义为抽象方法,指定子类实现或重写。 1.1 角色 AbstractClass(…

【脑电信号处理与特征提取】P5-彭薇薇:脑电信号的预处理及数据分析要点

彭薇薇:脑电信号的预处理及数据分析要点 脑电 脑电是神经活动的测量方法,在不同位置测量有不同的方法。比如大脑皮层表面测量的是ECoG,在头皮测量的是EEG。除了EEG是无损的,其他都是有损的。 脑电信号采集系统 下面是完整的…

指针操作一维字符型数组和及回调函数------努力学习嵌入式的第十四天!今天的内容让人脑瓜子嗡嗡的 着重复习

总结 1.快速排序 注意: 第二三步并不能反过来 要想降序排列只需要加将比较的符号换一下 2.指针操作一维字符型数组 (const) char *s "hello"; *sH; //错误 char s[]"hello"; s[0] B char *strncpy(char *d…

05 SB3之Spring Initializr+运行方式+自动配置原理(TBD)

1. 使用IDEA内置Spring Initializr 生成SB项目 最上方Server URL可以选择借助哪个平台生成, 可选阿里云 作为对比 , 官方可选版本最旧为3.1.18 ; 阿里云可选最新版本为3.0.2 本次选择3.1.8版本, 并且添加Spring Web依赖(包括RESTful / Spring MVC/)和Lombok依赖 生成后端项目…

力扣hot100 单词搜索 深度优先搜索 特殊字符判重

Problem: 79. 单词搜索 Code class Solution{int n, m;char[][] b;String word;int[] dx { 1, 0, -1, 0 };int[] dy { 0, 1, 0, -1 };public boolean exist(char[][] board, String word){b board;this.word word;n b.length;m b[0].length; // 以所有点作为起点来进行…

关于 PostgreSQL,你了解多少

背景 最近因工作原因,了解到了阿里的 hologre,它只支持 psql 协议,用起来跟 mysql 会差很多,也很不习惯。所以就好奇,为啥放着mysql不用,却用 psql 什么是 psql psql 是 开源的关系型数据库管理系统 Pos…

vuex store,mutations,getters,actions

文章目录 1.vuex概述2.构建vuex【多组件数据共享】环境Son1.vueSon2.vueApp.vue 3.创建一个空仓库4.如何提供&访问vuex的数据①核心概念 - state状态1.通过store直接访问2.通过辅助函数简化代码 ②核心概念 - mutations(粗略) 5.核心概念 - mutation…

vue3之echarts3D环柱饼图

vue3之echarts3D环柱饼图 效果&#xff1a; 版本 "echarts": "^5.4.1", "echarts-gl": "^2.0.9" 核心代码&#xff1a; <template><div class"content"><div ref"eCharts" class"chart&…

【Docker】linux、nginx、容器镜像三者基本概念

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是《Docker容器》序列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对…

【数据结构 04】单链表

一、链表简介 链表是一种物理存储结构上非连续的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表在结构上的分类&#xff1a; 1. 带头结点或无头结点 2. 单向或双向 3. 循环或非循环 虽然链表有多种结构类型&#xff0c;但是我么在实际开发中…

算法设计与分析实验:并查集与生成树

目录 一、情侣牵手 1.1 采用并查集的思想 1.2 采用动态规划的思想 二、账户合并 2.1 具体思路 2.2 思路呈现 2.3 代码实现 2.4 复杂度分析 三、连接所有点的最小费用 3.1 思路一&#xff1a;最小生成树 3.2 思路二&#xff1a;并查集 鸡汤 一、情侣牵手 力扣第765…

Django模型(五)

一、数据的条件查询 参考文档:QuerySet API 参考 | Django 文档 | Django 1.1、常用检索字段 字段检索,是在字段名后加 __ 双下划线,再加关键字,类似 SQL 语句中的 where 后面的部分, 如: 字段名__关键字 exact :判断是否等于value,一般不使用,而直接使用 =contai…

数据与资源可视化——长安链运维监控实践

前言 “链上的交易总量是多少”&#xff0c;“我的链上现在有多少区块了”&#xff0c;“节点是否存活无法第一时间感知到”&#xff0c;除sdk查询链上的相关信息外&#xff0c;今天我们介绍一种新的方式实现链上数据与相关资源的可视化的监控。 简介 监控链上数据以及链上节…

日志资源成本减少 35%:新东方可观测体系改造如何降本增效?

一分钟精华速览 在双减政策影响下&#xff0c;新东方面临业务缩减和资源紧张的局面&#xff0c;迫切需要技术调整和优化以应对成本压力并提高效率。面对人手减少、技术标准化不足和技术栈复杂等挑战&#xff0c;公司制定了通过建立标准化的可观测性体系来提升运维和研发效率的…

初始化爱情的构造之旅

初始化爱情的构造之旅 The Constructive Journey of Initializing Love 在一个名为“编程之城”的奇幻世界里&#xff0c;住着两位年轻的程序员——林浩然和杨凌芸。林浩然是Java王国中的首席对象设计师&#xff0c;擅长用代码构建复杂而精巧的对象&#xff1b;而杨凌芸则是数据…

专业138总分420+中国科学技术大学843信号与系统考研经验中科大电子信息通信

**今年中科大专业课843信号与系统138分&#xff0c;总分420顺利上岸&#xff0c;梦圆中科大&#xff0c;也是报了高考失利的遗憾&#xff0c;总结一下自己的复习经历&#xff0c;希望可以给大家提供参考。**首先&#xff0c;中科大843包括信号与系统&#xff0c;和数字信号处理…