相关环境 Nginx,Spring5.x当前(要选择4.0+),tomcat8.x,Quartz 2.x集群(实际运用是Quartz的集群模式和单机模式共存的) 测试面页:http://sms.reyo.cn/socket.html 每20秒随机显示不同类型的广告:文字.图片.声音),效果如下: 文件下载: 服务器端代码: 发送图片提供了两种方式处理,方便以后调用. 客户端接受并显示图片代码: ws.onmessage = function(evt) { if(typeof(evt.data)=…
相关环境 Nginx,Spring5.x当前(要选择4.0+),tomcat9.x或8.x都可以,Quartz 2.x集群(实际运用是Quartz的集群模式和单机模式共存的) 测试面页:http://sms.reyo.cn/socket.html 聊天测试地址:https://sms.reyo.cn用户名:aa 密码:123456 每20秒随机显示不同类型的广告:文字.图片.声音),效果如下: 文件下载: 服务器端代码: 发送图片提供了两种方式处理,方便以后调用. 客户端接受并显示图片代码: w…
近几年微服务很火,Spring Cloud提供了为服务领域的一整套解决方案.其中Spring Cloud Alibaba是我们SpringCloud的一个子项目,是提供微服务开发的一站式解决方案. 包含微服务开发的必要组件,基于SpringCloud 符合SpringCloud标准,是阿里的微服务的解决方案. 文档:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md Nacos的安装与启动 Nacos是…
言:使用此webscoket务必确保生产环境能兼容/支持!使用此webscoket务必确保生产环境能兼容/支持!使用此webscoket务必确保生产环境能兼容/支持!主要是tomcat的兼容与支持. 有个需求:APP用户产生某个操作,需要让后台管理系统部分人员感知(表现为一个页面消息). 最早版本是后台管理系统轮训,每隔一段时间轮训一次,由于消息重要,每隔几秒就查一次.这样做明显很不雅!会消耗大量资源,并且大部分请求是没有用的(查不到数据进来),很蓝瘦. 后来,想着用消息推送的方式来处理这个逻辑…
最近项目中用到了webSocket服务,由后台实时向所有的前端推送消息,前端暂时是不可以发消息给后端的,数据的来源是由具体的设备数据收集器收集起来,然后通过socket推送给后端,后端收到数据后,再将这些数据推送给前端. 听起来业务逻辑有点复杂.其实单独的实现socket或websocket都比较简单,但是二者之间的数据传输问题,困扰了我很久.也想过用redis做一个消息队列,将socket接收到的数据处理后丢进去,然后再用websocket从redis里取出数据,再推送给前端. 但是.问题来了…
前言 在分布式架构中,所谓的断路器模式是指当某个服务发生故障之后,通过断路器的故障监控,向调用方返回一个错误响应,这样就不会使得线程因调用故障服务被长时间占用不释放,避免故障的继续蔓延.Spring Cloud Hystrix实现了断路器,线程隔离等一系列服务保护功能,它是基于Netflix的开源框架Hystrix实现的. 目的不是介绍Hystrix的与原理.及其使用等(有时间也要记录啊),而是通过实战搭建一个简单的监控集群,使用Hystrix Dashboard仪表盘动态监控展示以此来加深对H…
Jedis是Redis的Java客户端,Spring将Jedis连接池作为一个Bean来配置.如果在Spring Data的官网上可以发现,Spring Data Redis已经将Jedis集成进去了. Jedis连接池分为两种: 一种是“redis.clients.jedis.ShardedJedisPool”,这是基于hash算法的一种分布式集群Redis客户端连接池. 另一种是“redis.clients.jedis.JedisPool”,这是单机环境适用的Redis连接池. 下面是介绍详…
前面的两篇文章(Redis的持久化方案, 一文掌握Redis的三种集群方案)分别介绍了Redis的持久化与集群方案 -- 包括主从复制模式.哨兵模式.Cluster模式,其中主从复制模式由于不能自动做故障转移,当节点出现故障时需要人为干预,不满足生产环境的高可用需求,所以在生产环境一般使用哨兵模式或Cluster模式.那么在Spring Boot项目中,如何访问这两种模式的Redis集群,可能遇到哪些问题,是本文即将介绍的内容. Spring Boot 2 整合Redis spring boot…
ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以互相通知消息及调用方法,当然这是实时操作的. https://github.com/SignalR/SignalR.git 先给大家看看实现的效果图.本文底部有完整demo 不想看我墨迹的可以跳过了^_^. 第一步: 先创建一个目标框架是.netframework 4.5或以上的MVC项目. 然后选择工具---库…
引入jedis依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.2</version> </dependency> applicationContext-jedis.xml[这里为了演示方便,就没使用配置文件的形式] <?xml version="1.0&quo…