Java后端实战项目推进-黑马头条
嗨,大家好,我是代码界的小白,欢迎大家关注、点赞和收藏哦!
今天继续给大家推荐Java后端实战项目了,上期分享的尚医通项目,有感兴趣的同学可以去b站找找视频跟着做一做。近期的推荐主要是针对很多准备找工作的同学都有的一个困扰,简历单薄,没有好的项目,担心简历被刷,所以开始给大家推荐一些比较好的开源项目。
虽然大家都知道github或者gitee上都有很多优秀的开源项目,但大多数没有视频教学,对于初学者或者小白来说是很难上手,总不能直接下载下来配置一下环境跑一下就算学习了吧,这显然是不能拿来参加面试的。
黑马头条旧版(单体架构)的学习视频可以在b站直接搜索:黑马头条,即可看到,当然你也可以花钱到网上去买新版的,新版的是微服务架构的,当时我同学是花钱买的,如果有想做这个项目的同学,可以到网上看看有没有卖新版视频的。
1.项目介绍
该项目中使用到了大量真实企业实际应用内容。很多场景下使用的技术并不是为了用而用。而且该项目可移植性强,可以很快的转化为其他相关项目。
本头条项目形态模拟今日头条互联网社交媒体项目,内容则以技术类文章为主,为终端学习用户提供精准的、感兴趣的技术文章,为技术类的自媒体人提供自运营的平台。
该类项目是互联网中大数据驱动结合内容运营的成功案例,各大公司都纷纷投入该模式的运营,正成为互联网发展的新方向;也因项目背后的技术涉及大数据存储、大数据计算、微服务、DevOps等热门技术的综合应用。
利用用户时间碎片化、地域切换频繁、形态社交化、内容个性化等综合特征下,通过收集用户行为数据、分析用户行为特征、大数据推荐计算,为用户提供感兴趣的、精准的技术文章。
2.从此项目中我们可以学到什么?
上图主要是说明了三种数据的流转,登录或注册数据流、文章的数据流(核心)、行为数据流
课程主要实现了核心业务的业务流,并未实现大数据相关推荐的功能,但是一个完整的项目是由多个部门共同开发,java后端程序员就是主要负责功能开发,后期的分析推荐由大数据技术或python语言来完成。
2.1后端技术
- Lombok
- Nginx:负载均衡
- Redis:内存缓存
- Mysql:关系型数据库
- Kafak:消息中间件
- MyBatis-Plus:持久层框架
- Swagger2:Api接口文档工具
- HTTPClient: Http协议客户端
- MongoDB:面向文档的NoSQL数据库
- SpringBoot:简化新Spring应用的初始搭建以及开发过程
- SpringCloud:基于Spring Boot实现的云原生应用开发工具,SpringCloud使用的技术:(SpringCloudGateway、Spring Cloud Alibaba Nacos、Spring Cloud Alibaba Sentinel、SpringCloud Task和SpringCloudFeign等)
2.2 其他技术
- Docker:容器技术
- Git:代码管理工具
3.简历中如何写?
开发环境:IDEA+JDK1.8+ Mysql5.7
技术选型:Sping+SpringBoot+SpringCloud+mysql+MybatisPlus+Redis+MongoDB +kafka+jenkin
项目介绍:该项目要求仿照目前比较流行的“今日头条”app,以微服务构架为技术基础搭建校内仅供学生教师使用的校园新 闻app。该项目是一个多平台联合使用工程,本人负责其中以文章为主线的核心业务。
项目技术:Springboot、Springcloud(Nacos、Feign、GateWay)、Redis、xxl-job、MySQL、FastDFS、 ElasticSearch、Kafka、KafkaStream、MyBatis、Seata、SkyWalking、jenkins等。
项目方案:以文章为主线的核心业务主要分为如下子模块(目前已经全部实现): 管理员模块:该模块主要负责管理员登录功能、审核所有可能成为“西电校园头条”文章作者的实名认证功能、文章发布内 容的人工审核功能、用户列表显示功能、文章列表显示功能、文章频道管理功能、敏感词管理等功能。 自媒体模块:自媒体用户创建功能、文章发布功能、素材管理功能等功能。 app端用户模块:登录功能、文章显示功能、热点文章推荐功能、热搜功能、点赞评论收藏功能、文章推荐功能。
4.总结
黑马后台是一整套微服务的架构设计
1.错误和故障隔离
当微服务架构隔离功能时,它也会隔离错误。一个微服务中的问题不会关闭整个应用程序,它将包含在该区域中,而其他微服务继续运行。这不仅可以延长正常运行时间,还可以更轻松地查明问题的根源并解决问题。
2.兼容CI / CD和敏捷
微服务架构与软件行业中最有效的过程兼容,包括CI,CD,敏捷和容器方法。团队可以选择最适合他们需求的流程,将微服务集成到他们的开发方法中并使用他们喜欢的任何工具。
3.可扩展
可以从应用程序中轻松提取独立功能,以便在其他应用程序中重用和重新调整用途,并提高可伸缩性。各个开发团队还可以实现和部署他们的代码,而无需考虑更大的IT团队或部门的日程安排。这使得大型组织更容易使用微服务架构来减少可能延迟部署的其他问题。
4.服务独立维护,分工明确
每个微服务都可以交由一个小团队进行开发,测试维护部署,并对整个生命周期负责,当我们将每个微服务都隔离为独立的运行单元之后,任何一个或者多个微服务的失败都将只影响自己或者少量其他微服务,而不会大面积地波及整个服务。
往期实战项目推荐
#Java后端实战项目##Java##学习路径#公众号:代码界的小白,会更新互联网消息、动态、高频八股、实战项目等。