黑马头条与目前踩过的坑

前言

前天,我想找个项目来玩玩,后面发现黑马头条的技术栈挺全面的,而且有些技术还涉及了微服务,大数据,挺感兴趣,然后就入坑了。

技术栈介绍

基础六层中包括前端(Weex、Vue、Echarts、WS)、网关(GateWay)、DevOps(单元测试、代码规范)等重难点技术

  • Weex+Vue+WebSocket :使用Weex跨平台开发工具,整合集成VUE框架,完成黑马头条移动端功能开发,并集成WebSocket实现即时消息(文章推荐、私信)的推送
  • Vue+Echarts : 自媒体系统使用Vue开发关键,集成Echarts图表框架,完成相关粉丝画像、数据分析等功能
  • Vue+Echarts+WebSocket : 管理系统也是使用Vue开发,集成Echarts,完成网站统计、内容统计等功能,集成WebSocket,实现系统看板实时数据自动化更新
  • Spring-Cloud-Gateway : 微服务之前架设的网关服务,实现服务注册中的API请求路由,以及控制流速控制和熔断处理都是常用的架构手段,而这些功能Gateway天然支持
  • PMD&P3C : 静态代码扫描工具,在项目中扫描项目代码,检查异常点、优化点、代码规范等,为开发团队提供规范统一,提升项目代码质量
  • Junit : 在持续集成思想中,单元测试偏向自动化过程,项目通过Junit+Maven的集成实现这种过程

3.2 技术栈-服务四层技术

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

  • 运用Spring Boot快速开发框架,构建项目工程;并结合Spring Cloud全家桶技术,实现后端个人中心、自媒体、管理中心等微服务。
  • 运用WebMagic爬虫技术,完善系统内容自动化采集
  • 运用Kafka完成内部系统消息通知;与客户端系统消息通知;以及实时数据计算
  • 运用MyCat数据库中间件计算,对系统数据进行分开分表,提升系统数据层性能
  • 运用Redis缓存技术,实现热数据的计算,NoSession等功能,提升系统性能指标
  • 运用Zoookeeper技术,完成大数据节点之后的协调与管理,提升系统存储层高可用
  • 使用Mysql存储用户数据,以保证上层数据查询的高性能
  • 使用Mongo存储用户热数据,以保证用户热数据高扩展和高性能指标
  • 使用FastDFS作为静态资源存储器,在其上实现热静态资源缓存、淘汰等功能
  • 运用Habse技术,存储系统中的冷数据,保证系统数据的可靠性
  • 运用ES搜索技术,对冷数据、文章数据建立索引,以保证冷数据、文章查询性能
  • 运用Sqoop、Kettle等工具,实现大数据的离线入仓;或者数据备份到Hadoop
  • 运用Spark+Hive进行离线数据分析,实现系统中各类统计报表
  • 运用Spark Streaming + Hive+Kafka实现实时数据分析与应用;比如文章推荐
  • 运用Neo4j知识图谱技术,分析数据关系,产出知识结果,并应用到上层业务中,以帮助用户、自媒体、运营效果/能力提升。比如粉丝等级计算
  • 运用AI技术,来完成系统自动化功能,以提升效率及节省成本。比如实名认证自动化

踩过的坑

下面总结我目前遇到的坑
1,数据库密码错误导致连接失败,我检查了很多遍,都没有发现问题,我甚至复制了之前项目的jdbc.url但是还是给我报密码错误。
后面我发现这个项目里面有个方法会将密码倒置,如图:黑马头条与目前踩过的坑_第1张图片
只需要把密码倒置过来就好了。

2,数据库版本不一致,导致数据连接失败,我本地环境的mysql是8.0的然后就出现了下面这个错误:
黑马头条与目前踩过的坑_第2张图片
后面我用服务器的mysq 5.7就正常运行了。

3,前端页面运行错误,如图:
黑马头条与目前踩过的坑_第3张图片
目前这个问题未解决。

最后

项目技术栈覆盖面积比较广,坑也比较多,把自己踩过的坑总结起来,别人可以少走弯路。

你可能感兴趣的:(经验分享,java,数据库,spring,boot)