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

黑马头条-Java微服务项目

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

(一)、项目介绍

1.项目背景介绍

(1).基本介绍

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

(2).业务说明

功能架构图:
在这里插入图片描述

(3).项目术语介绍

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

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

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

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

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

  6. App:泛指黑马头条APP

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

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

2.技术栈说明

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

基础六层中包括前端(Weex、Vue、Echarts、WS)、网关(GateWay)、DevOps(单元测试、代码规范)等重难点技术
在这里插入图片描述

  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)、索引、微服务、大数据存储等重难点技术

在这里插入图片描述

  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).技术栈-分布

在这里插入图片描述

(二)、nacos环境搭建

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

调用百度文心AI作画API实现中文-图像跨模态生成

作者介绍 乔冠华,女,西安工程大学电子信息学院,2020级硕士研究生,张宏伟人工智能课题组。 研究方向:机器视觉与人工智能。 电子邮件:1078914066qq.com 一.文心AI作画API介绍 1. 文心AI作画 文…

Seata 四种模式对比总结

一、前言 通过以下系列章节: docker-compose 实现Seata Server高可用部署 | Spring Cloud 51 Seata AT 模式理论学习、事务隔离及部分源码解析 | Spring Cloud 52 Spring Boot集成Seata利用AT模式分布式事务示例 | Spring Cloud 53 Seata XA 模式理论学习、使用…

Day_56-57kMeans 聚类

目录 Day_56-57 k-Means 聚类 一. 基本概念介绍 二. 具体过程 三. 代码实现与解释 1. 导入数据与数据初始化 2. 核心代码 3. 后续信息的补充 4. 距离计算和随机排列 四. 后续的数据分析 五. 运行结果 Day_56-57 k-Means 聚类 一. 基本概念介绍 同我上一篇博客的介绍&…

【Linux】打开Linux大门,踏入Linux世界(环境搭建再加一群Linux基本指令就OK啦~)

🧑‍🎓个人主页:简 料 🏆所属专栏:Linux系统编程与网络编程 🏆个人社区:越努力越幸运社区 🏆简 介:简料简料,简单有料~在校大学生一枚&#x…

MySQL表的约束

目录 前言 1.什么是约束 2.空属性 3.默认值 4.列描述 5.zerofill 6.主键 7.自增长 8.唯一键 9.外键 总结 前言 hello,各位小伙伴大家好,本章内容为大家介绍关于MySQL约束的相关内容,关于约束这个概念,如果是第一次接触可…

redis---基础(部署及常用命令)

目录 前言一、关系型数据库与非关系型数据库1. 关系型数据库2. 非关系型数据库3. 关系型数据库和非关系型数据库区别4. 非关系型数据库产生背景小结: 二、Redis简介1. 单进程快速的原因:2.epoll 机制优势: 三、Redis 具有以下几个优点四、red…

机器学习之LDA算法

目录 LDA算法 LDA目标 LDA原理推导 LDA除法模型 LDA减法模型 LDA除法正则模型 LDA减法正则模型 证明:StSwSb LDA算法流程 LDA优点 LDA缺点 基于LDA的人脸识别 LDA算法 线性判别分析(linear discriminant analysis,LDA&#xff0…

计算机网络——物理层

物理层 物理层是计算机网络体系结构中的底层层级,负责处理计算机与物理传输媒介之间的接口和通信细节。它主要关注如何在物理媒介上传输原始比特流,并确保数据能够可靠地从发送方传输到接收方。 物理层的主要任务包括: 传输介质&#xff1a…

2023年第三届陕西省大学生网络安全技能大赛--本科高校组 Reverse题解

文章目录 一. 我的upx -d怎么坏了1. 查看节区信息2. 动态调试脱壳3.输出迷宫图4.走迷宫 二. babypython1.字节码简单分析2. gpt分析3. 程序逻辑4.解题脚本 三. BadCoffee1. 相关文章2.解混淆3.解题脚本 四. Web&Assembly(暂时没复现出来,提供一些相关文章)总结 这次比赛做出…

Qt的基本知识与应用

一、C梳理 1. 面向对象的三大特性 1.1 封装 把类的一些属性和细节隐藏(private、protected),根据读写需要重新开放外部调用接口(public、protected)。 1.2 继承 在已有的类的基础上创建一个新的类,新的类拥…

【网络原理】数据链路层 和 应用层 重点协议

✨个人主页:bit me👇 ✨当前专栏:Java EE初阶👇 目 录 🍀一. 以太网协议(数据链路层)🌻二. DNS (应用层)🌿三. 网络原理知识面试总结 &#x1f34…

40 # npm 的使用

npm 3n: nrm:node 中源管理工具nvm:node 中的版本管理工具npm:node 的包管理器,管理的都是 node 的模块 第三方模块 分两种: 全局模块:只能在命令行中使用,任何路径都可以本地模…