Javaweb项目视频大全,Redis分布式_极悦注册
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Javaweb项目视频大全,Redis分布式

Javaweb项目视频大全,Redis分布式

更新时间:2020-03-25 15:32:02 来源:极悦 浏览1859次


  架构、分布式、日志队列,标题自己都看着唬人,其实就是一个日志收集的功能,只不过中间加了一个Redis做消息队列罢了。为什么需要消息队列?当系统中出现“生产“和“消费“的速度或稳定性等因素不一致的时候,就需要消息队列,作为抽象层,弥合双方的差异。


  架构、分布式、日志队列,标题自己都看着唬人,其实就是一个日志收集的功能,只不过中间加了一个Redis做消息队列罢了。


 Javaweb项目视频大全,Redis分布式


  为什么需要消息队列?


  当系统中出现“生产“和“消费“的速度或稳定性等因素不一致的时候,就需要消息队列,作为抽象层,弥合双方的差异。


  比如我们系统中常见的邮件、短信发送,把这些不需要及时响应的功能写入队列,异步处理请求,减少响应时间。


  如何实现?


  成熟的JMS消息队列中间件产品市面上有很多,但是基于目前项目的架构以及部署情况,我们采用Redis做消息队列。


  为什么用Redis?


  Redis中list数据结构,具有“双端队列”的特性,同时redis具有持久数据的能力,因此redis实现分布式队列是非常安全可靠的。


  它类似于JMS中的“Queue”,只不过功能和可靠性(事务性)并没有JMS严格。Redis本身的高性能和"便捷的"分布式设计(replicas,sharding),可以为实现"分布式队列"提供了良好的基础。


  提供者端


  项目采用第三方redis插件spring-data-redis,不清楚如何使用的请自行谷歌或者百度。


  redis.properties:


Javaweb项目视频大全,Redis分布式


  redis配置:


  Javaweb项目视频大全,Redis分布式


  切面日志配置(伪代码):


  Javaweb项目视频大全,Redis分布式

  消费者端


  Redis配置:


  Javaweb项目视频大全,Redis分布式

  监听接口:


 Javaweb项目视频大全,Redis分布式


  监听实现:


 Javaweb项目视频大全,Redis分布式


  Q&A


  【问题一】为什么使用Redis?


  上面其实已经有做说明,尽管市面上有许多很稳定的产品,比如可能大家会想到的Kafka、RabbitMQ以及RocketMQ。但是由于项目本身使用了Redis做分布式缓存,基于省事可行的原则就选定了Redis。


  【问题二】日志数据如何存储?


  原则上是不建议存储到关系数据库的,比如MySql,毕竟产生的日志数量是巨大的,建议存储到Elasticsearch等非关系型数据库。


  【问题三】切面日志收集是如何实现的?


  切面日志需要引入spring-aspects相关Jar包,并且配置使Spring采用CGLIB代理。


  以上就是极悦java培训机构的小编针对“Javaweb项目视频大全,Redis分布式”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>