通过rocketmq-spring-boot-starte
r可以快速的搭建RocketMQ
生产者和消费者服务。
「环境配置」RocketMQ安装并整合SpringBoot
RocketMQ 是阿里巴巴团队使用Java
语言开发的一个分布式、队列模型的消息中间件,后开源给Apache
基金会成为了Apache
的顶级开源项目,具有高性能、高可靠、高实时、分布式特点。
RocketMQ 主要由Producer
、Broker
、Consumer
、NameServer
组成;其中Producer
负责生产消息;Consumer
负责消费消息;Broker
是MQ
服务,负责接收、分发消息;NameServer
是路由中心,负责MQ
服务之间的协调。
「环境配置」记一次生产事故引发的FastDFS图片迁移
事件经过:由于前端同学不小心把上传图片服务器地址写死了测试域名(指向测试服务器),然后项目上到正式环境,一段时间后,发现用户发布商品时的商品详情富文本中的图片全部指向测试图片服务器域名,然后图片又太多了,手动逐条修复数据不太现实。
「Spring」SpringBoot Thymeleaf页面静态化实现
页面静态化是指把动态生成的HTML页面变为静态文件保存,当请求到来,直接访问静态文件,而不需要经过项目服务器的渲染。
「Redis」Redis故障处理-持久化时内存不足
问题描述
1 | # Java错误日志: |
「Spring Reactive Stack」响应式 HTTP 请求客户端 WebClient
WebClient是Spring WebFlux
模块提供的一个非阻塞的基于响应式编程的进行HTTP
请求的客户端工具。
「Spring Reactive Stack」服务端事件推送Server-Sent Events
SSE:Server-Sent Events
服务器推送事件,是一种仅发送文本消息的技术。SSE
基于HTTP
协议中的持久连接。SSE
是HTML5
标准协议中的一部分。
客户端接收服务端异步更新的消息可以分为两类:客户端拉取和服务端推送。
「Spring Reactive Stack」响应式方式访问Redis
Spring Data Redis
中同时支持了Jedis
客户端和Lettuce
客户端。但是仅Lettuce
是支持Reactive
方式的操作;这里选择默认的Lettuce
客户端。
「Spring Reactive Stack」使用R2DBC访问MySQL
MySQL
等一系列的关系型数据库也在R2DBC
等包的帮助下支持响应式。R2DBC
基于Reactive Streams
反应流规范,它是一个开放的规范,为驱动程序供应商和使用方提供接口(r2dbc-spi
),与JDBC
的阻塞特性不同,它提供了完全反应式的非阻塞API与关系型数据库交互。
「Spring Reactive Stack」Reactor异常处理
不管是在响应式编程还是普通的程序设计中,异常处理都是一个非常重要的方面。
对于Flux
或者Mono
来说,所有的异常都是一个终止的操作,即使你使用了异常处理,原生成序列也不会继续。
但是如果你对异常进行了处理,那么它会将oneError
信号转换成为新的序列的开始,并将替换掉之前上游产生的序列。