25届秋招必备极具竞争力项目

仿b站前后端分离微服务项目,这个项目相比其他项目的亮点在于1.项目重复度极低,意味着简历在筛选时脱颖而出的概率更高2.项目技术栈丰富,常用技术中用到了springboot、springcloud、mysql、redis、rocketmq、elasticsearch、mybatis-plus、swagger、fastjson、Jackson、gson、lombok,按需引入的有websocket、druid、minio、xxl-job、security、jwt、hutool、javemybatis-plus-join、slueth、zipkin、讯飞星火api

下面是开发文档之环境配置与maven

个人认为理解项目前先跑通后端项目有助于理解,而跑通后端项目需要下载成功maven依赖和运行各个中间件。

maven的基础使用应该比较多人会,因此不做说明,如果后期需要的人多的话再补充一个。maven需要注意的有几点:

1.maven是通过读取pom文件去远程中央仓库或maven的setting.xml中指定的镜像仓库如阿里云镜像仓库中下载依赖到本地仓库,然后引用本地仓库的缓存,有时可能会因为网络波动导致下载出一个不完整的依赖,或者版本号写错了下载出来一个空的依赖,这种情况下maven不会报错,但引入该依赖中的类时可能报错,只需把本地仓库中对应的依赖删掉重下载即可。

2.由于六个业务服务都引入了公共模块且网关服务引入了和mvc风格冲突的webflux风格的Gateway,因此Gateway服务需要用exclude排除掉Spring-boot-starter-web依赖,以及当前使用版本的Openfeign已经使用loadbalancer替换了ribbon,因此项目中需要额外引入springcloud-loadbalancer,且需要排除nacos中的ribbon依赖否则loadbalancer无效。

3.启动服务后有时会发现修改代码却并没有生效,可能是idea缓存的原因,需要用maven的clean命令清除掉旧的target包,然后重启服务后生成新target包,部署同理,有时发现线上更新的jar包没有同步修改就clean后重新install。

4.Springboot打jar包时会把本地仓库中的依赖也打进去,所以打jar包前需要先把被引入到业务模块的公共模块install,然后公共模块会被打包到本地仓库中,install或package其他服务jar包时就可以把公共模块打包进去。同时如果修改了公共模块代码,在打包其他服务前一定要先install公共模块更新本地仓库的公共模块包,否则公共模块的修改不会同步到被放到线上的新jar包。

接下来是运行环境跑通最速传说

nacos的运行(下载地址https://labilibili.com/package/nacos.zip

运行后浏览器输入地址http://192.168.0.100:8848/nacos/index.html即可看到控制台

redis的运行(下载地址https://labilibili.com/package/Redis-x64-5.0.14.1.zip

点击该exe

redis配套可视化连接控制台(下载地址https://labilibili.com/package/Another-Redis-Desktop-Manager.1.5.9.zip

下载后解压出一个exe文件,点该文件安装redis-desktop,redis-desktop界面如下

本地新启动的redis默认无用户名和密码,因此点new connection后点ok就直接连上了本地运行的redis

es的运行(下载地址https://labilibili.com/package/elasticsearch-7.8.zip

点击该文件运行es

下载浏览器插件下载浏览器插件Elasticvue观测es连接情况与es数据情况

minio的运行(下载地址https://labilibili.com/package/minio.zip

选定一个存放minio数据路径如E:\miniodata然后用minio server path启动minio,若该路径不存在则自动创建,在浏览器中输入命令行日志中的console对应的路径http://192.168.0.100:50457或localhost:9200会到控制台,默认用户名和密码都是minioadmin

rocketmq运行(下载地址https://labilibili.com/package/rocketmq.zip

解压后设置环境变量ROCKETMQ_HOME值为解压目录,也就是bin文件夹的上一层目录,然后命令行进入文件夹的bin目录

启动nameserver并打开新的命令行窗口,日志在该新命令行窗口中

需注意es和rocketmq的初始启动内存参数都较大,因此建议修改,es的在config目录下的jvm文件中修改,找到-Xms1g

-Xmx1g这两行,线上的zip是两个都改小到了1g,也可以再改小

rocketmq则是进入bin目录下找到名为runbroker和runserver的windows命令脚本并右键文件选择编辑,以记事本形式查看,分别在这两个文件中找到set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g"和set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m",然后根据电脑负荷修改xms和xmx这两个启动参数的值

同时需要注意若启动rocketmq时环境变量写错了,更新后需要关掉命令行重新打开一个否则更新不同步

broker运行

如图,运行java -Drocketmq.home.dir=E:/rocketmq/rocketmq -Dlog.home=E:/rocketmq/rocketmq/logs -cp .;../conf;../lib/* org.apache.rocketmq.broker.BrokerStartup -n 127.0.0.1:9876命令后成功启动broker,E:/rocketmq/rocketmq替换成bin文件夹所在目录。

项目地址https://labilibili.com,github地址https://github.com/aigcbilibili/aigcbilibili,演示地址https://labilibili.com/video/演示.mp4,如果大家觉得有帮助的话可以去github点个小星星

#25届##秋招##字节跳动##我的成功项目解析##美团#

该专栏存放前后端分离仿b站微服务项目相关教程

全部评论
博主你服务器运行这个项目配置是多大呀
2 回复 分享
发布于 07-11 10:18 广东
1
点赞 回复 分享
发布于 07-10 20:13 湖南
有配套的话术吗
点赞 回复 分享
发布于 07-15 10:31 北京
1
点赞 回复 分享
发布于 08-30 13:25 湖北
maven导入失败,折腾一天了,解决了几个报错,还剩几个
点赞 回复 分享
发布于 09-03 16:42 湖南
xxl-job启动报错是为啥
点赞 回复 分享
发布于 10-08 17:47 江苏
佬,非常不好意思,有一个好像很简单但是我死活搞不明白的问题,如图,我依赖引入了,而且也写了配置内容,但就是注册不到服务中心我现在就剩config没有写过,但是我觉得服务注册和发现 与 配置是两个模块,没有必要写这个也能够注册啊。其他的命名空间写或者不谢,ip地址用localhost还是127.0.0.1,以及是否带http都试过了
点赞 回复 分享
发布于 10-28 13:37 江西
大佬,请问为什么es启动了也链接的上但是search总是连接有问题
点赞 回复 分享
发布于 10-30 14:41 日本
m
点赞 回复 分享
发布于 11-04 13:27 福建
哥,啥时候有项目运行的视频教程
点赞 回复 分享
发布于 11-10 19:44 广西
m
点赞 回复 分享
发布于 11-11 15:33 浙江
请问项目在哪里买
点赞 回复 分享
发布于 11-18 18:55 四川

相关推荐

19 145 评论
分享
牛客网
牛客企业服务