【黑马头条-Java微服务项目】

黑马头条-Java微服务项目

  • (一)、项目介绍
    • 1.项目背景介绍
        • (1).基本介绍
        • (2).业务说明
        • (3).项目术语介绍
    • 2.技术栈说明
        • (1).技术栈-基础六层技术
        • (2).技术栈-服务四层技术
        • (3).技术栈-分布
  • (二)、nacos环境搭建

(一)、项目介绍

1.项目背景介绍

(1).基本介绍

随着智能手机的普及,人们更加习惯于通过手机来看新闻。由于生活节奏的加快,很多人只能利用碎片时间来获取信息,因此,对于移动资讯客户端的需求也越来越高。黑马头条项目正是在这样背景下开发出来。黑马头条项目采用当下火热的微服务+大数据技术架构实现。本项目主要着手于获取最新最热新闻资讯,通过大数据分析用户喜好精确推送咨询新闻

(2).业务说明

功能架构图:
【黑马头条-Java微服务项目】_第1张图片

(3).项目术语介绍

  1. 项目:泛指黑马头条整个项目或某一项目模块

  2. 工程:泛指黑马头条某一项目的源码工程

  3. 用户:泛指黑马头条APP用户端用户

  4. 自媒体人:泛指通过黑马自媒体系统发送文章的用户

  5. 管理员:泛指黑马头条管理系统的使用用户

  6. App:泛指黑马头条APP

  7. WeMedia:泛指黑马头条自媒体系统

  8. Admin:泛指黑马头条管理系统

2.技术栈说明

(1).技术栈-基础六层技术

基础六层中包括前端(Weex、Vue、Echarts、WS)、网关(GateWay)、DevOps(单元测试、代码规范)等重难点技术
【黑马头条-Java微服务项目】_第2张图片

  1. Weex+Vue+WebSocket :使用Weex跨平台开发工具,整合集成VUE框架,完成黑马头条移动端功能开发并集成WebSocket实现即时消息(文章推荐、私信)的推送

  2. Vue+Echarts : 自媒体系统使用Vue开发关键,集成Echarts图表框架,完成相关粉丝画像、数据分析等功能

  3. Vue+Echarts+WebSocket : 管理系统也是使用Vue开发,集成Echarts,完成网站统计、内容统计等功能,集成WebSocket,实现系统看板实时数据自动化更新

  4. Spring-Cloud-Gateway : 微服务之前架设的网关服务,实现服务注册中的API请求路由,以及控制流速控制和熔断处理都是常用的架构手段,而这些功能Gateway天然支持

  5. PMD&P3C : 静态代码扫描工具,在项目中扫描项目代码,检查异常点、优化点、代码规范等,为开发团队提供规范统一,提升项目代码质量

  6. Junit : 在持续集成思想中,单元测试偏向自动化过程,项目通过Junit+Maven的集成实现这种过程

(2).技术栈-服务四层技术

服务四层中包括中间件(Kafka、Mycat)、计算(Spark、Neo4j、Hive)、索引、微服务、大数据存储等重难点技术

【黑马头条-Java微服务项目】_第3张图片

  1. 运用Spring Boot快速开发框架,构建项目工程;并结合Spring Cloud全家桶技术,实现后端个人中心、自媒体、管理中心等微服务。

  2. 运用WebMagic爬虫技术,完善系统内容自动化采集

  3. 运用Kafka完成内部系统消息通知;与客户端系统消息通知;以及实时数据计算

  4. 运用MyCat数据库中间件计算,对系统数据进行分开分表,提升系统数据层性能

  5. 运用Redis缓存技术,实现热数据的计算,NoSession等功能,提升系统性能指标

  6. 运用Zoookeeper技术,完成大数据节点之后的协调与管理,提升系统存储层高可用

  7. 使用Mysql存储用户数据,以保证上层数据查询的高性能

  8. 使用Mongo存储用户热数据,以保证用户热数据高扩展和高性能指标

  9. 使用FastDFS作为静态资源存储器,在其上实现热静态资源缓存、淘汰等功能

  10. 运用Habse技术,存储系统中的冷数据,保证系统数据的可靠性

  11. 运用ES搜索技术,对冷数据、文章数据建立索引,以保证冷数据、文章查询性能

  12. 运用Sqoop、Kettle等工具,实现大数据的离线入仓;或者数据备份到Hadoop

  13. 运用Spark+Hive进行离线数据分析,实现系统中各类统计报表

  14. 运用Spark Streaming + Hive+Kafka实现实时数据分析与应用;比如文章推荐

  15. 运用Neo4j知识图谱技术,分析数据关系,产出知识结果,并应用到上层业务中,以帮助用户、自媒体、运营效果/能力提升。比如粉丝等级计算

  16. 运用AI技术,来完成系统自动化功能,以提升效率及节省成本。比如实名认证自动化

(3).技术栈-分布

【黑马头条-Java微服务项目】_第4张图片

(二)、nacos环境搭建

你可能感兴趣的:(java,微服务,开发语言)