熟练运用HTML5 WebSocket开发技术,能够在一般实际项目中使用;
完整掌握SockJS、Stomp、RabbitMQ消息代理技术,可应用到较大型项目中;
掌握Nginx、SpringCloudGateway多实例负载均衡开发技术,能搭建消息推送多实例集群运行环境。
你将收获
熟练运用HTML5 WebSocket开发技术,能够在一般实际项目中使用;
完整掌握SockJS、Stomp、RabbitMQ消息代理技术,可应用到较大型项目中;
掌握Nginx、SpringCloudGateway多实例负载均衡开发技术,能搭建消息推送多实例集群运行环境。
适用人群
课程介绍
(1)HTML5 WebSocket、异常重连、心跳检测;
(2)SockJS、Stomp、RabbitMQ Stomp消息代理;
(3)分别用Nginx和Spring Cloud Gateway实现多实例负载均衡;
(4)可靠消息推送(Stomp持久化队列、客户端ACK确认机制);
(5)Java原生、Stomp客户端实现(非浏览器客户端);
(6)Websocket拦截器结合 Spring security、jwt token认证授权;
(7)Vue前端版本实现、Java客户端实现;
(8)消防物联网平台消息推送案例,需求分析、设计思路、编码实现、效果演示。
课程目录
已添加Vue前端版本实现。
不建议使用太低的版本。
看看新版本是不是支持,老版本不可以,需要Kafka支持Stomp服务端协议,最好的还是rabbitmq.
Registry一般表示在某个环节要注入一个自定义实现类,比喻认证环节有很多流程需要自己的逻辑控制,就可以注入进去,类的具体方法可以直接跳到类中查看。
rabbitmq Connections 应该没有那么多,一个connections会可以有多个队列连接,检查一下连接的来源。
目前主流生产环境中使用2.2.x还是比较新的,新的版本需要同步做好升级,目前没有使用过,不能确定。
可以命名用过滤器来实现,对于任何操作,本质上是一条stomp消息帧,帖有类型,可以在过滤器中捕获到。
github访问较慢,用这个地址下载:https://gitee.com/cpaqyx/websocket
是的,按你的需求来使用特定的前缀。
好的,感谢你提出的问题,我先在本地测试一下,另外刚更新了STOMP协议、STOMP Over Websocket深入理解两个课时,可以详细查看一下。
建议:(1)websocket实现和rabbitmq采用多实例部署;(2)心跳检测配置时间长一些;(3)监控一下CPU、带宽参数,看看是不是这些原因造成的。
不好意思,才看到,可以在客户端控制一下,如果收到异常,直接不连接。
1.vue单页面项目的话可以做全局连接,统一接收数据,传递到其他模块即可;
2.rabbitmq不可以使用kafka代替,因为rabbitmq实现的stomp服务端协议,而kafka不支持;
3.建议独立做成websocket推送服务,其他模块来调用,实现共享和统一管理。