点击空白处退出提示
作品详情
开发环境:JDK1.8+IDEA+Maven+Tomcat9.0+MySQL5.7
软件架构:Maven+SpringBoot+Mybatis+MybatisPlus+MySQL+RocketMQ+ElasticSearch+FastDFS+Git
开发周期:30天
项目描述:
随着智能手机的普及,人们更加习惯于通过手机来看新闻。由于生活节奏的加快,很多人只能利用碎片时间来获取信息,因此,对于移动资讯客户端的需求也越来越高。黑马头条项目正是在这样背景下开发出来。黑马头条项目采用当下火热的微服务+大数据技术架构实现。本项目主要着手于获取最新最热新闻资讯,通过大数据分析用户喜好精确推送咨询新闻,包括以下功能:
责任描述: 后端主要代码开发,以及项目部署测试
用户移动APP
用户微服务:实现用户账号或游客登录功能
文章微服务:整合freemarker和MinIO的文章查看功能、基于ElasticSearch的文章搜索功能、基于Kafka的热点文章定时计算、基于KafkaStream的热点文章实时计算
ElasticSearch微服务
Scheduled微服务
用户自媒体平台微服务
用Nginx搭建前端,实现文章的增删改查、基于Kafka的定时发布、文章素材的增删改查、基于阿里云内容安全的图文审核
管理平台微服务
技术架构
技术描述:
用户层(Web+Android+IOS+H5):
CDN(HTML+CSS/JS+Json+Video):
LB(Nginx+LVS):
Nginx:部署前端静态资源,配置反向代理与负载均衡
Devops(Git+Maven+Junit+PMD&P3C+Docker+Jenkins):
PMD&P3C : 静态代码扫描工具,在项目中扫描项目代码,检查异常点、优化点、代码规范等,为开发团队提供规范统一,提升项目代码质量
Jenkins:
监控(CDH-ES-Kibana-Alert+SpringBoot admin+kafka-manager+zabbix):
运用Kafka完成内部系统消息通知;与客户端系统消息通知;以及实时数据计算
视图层(Weex+Vue+Echarts):
网关层(SpringCloud Gateway):
微服务之前架设的网关服务,实现服务注册中的API请求路由,以及控制流速控制和熔断处理都是常用的架构手段,而这些功能Gateway天然支持
服务层(SpringBoot+SpringCloud+Docker+Nacos+kafkastream+Dubbo):
SpringBoot:简化Spring开发,采用"约定优于配置"的思想,快速开发框架,构建项目工程
SpringCloud:结合SpringCloud全家桶技术,实现后端个人中心、自媒体、管理中心等微服务
Nacos:作为项目中的注册中心和配置中心
Dubbo:替换Ribbo或者Feign实现远程调用
数据层(MySQL+Mybatis+MybatisPlus+Redis+MongoDB+Hbase)
Mybatis、MybatisPlus:简化业务层、持久层、数据层开发 ,MP作为持久层提升开发效率
MongoDB:存储用户热数据,以保证用户热数据高扩展和高性能指标
Hbase:存储系统中的冷数据,保证系统数据的可靠性
中间件、文件/索引(Kafka+Redis+ZK+MongoDB+FastDFS+ES)
Redis:数据缓存,实现热数据的计算,提升系统性能指标
FastDFS:作为静态资源存储器,在其上实现热静态资源缓存、淘汰等功能
ES:对冷数据、文章数据建立索引,以保证冷数据、文章查询性能
第三方服务(阿里云OSS+阿里云短信服务):
阿里云OSS:图片存储
阿里云短信服务:用户登录验证
AI:来完成系统自动化功能,以提升效率及节省成本。比如实名认证自动化
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论