看到那么多人支持,我很感动,所以临时决定从今天开始讲述如何编写IM。那么今天开始第一讲, Socket. 为什么上来就讲Socket呢?因为我觉得作为一个对于IM很感兴趣的人,应该瞬间提升对于网络编程的高度认知,只有这样才能快速的学到东西。那么好了,开始实战! Socket又分为异步套接字和同步套接字,我在项目中基本上都是用的同步(当然,您可以使用异步),然后自己New的线程,这样
转载
2023-12-27 17:19:21
32阅读
周末测试了一下RabbitMQ的性能,RabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级的开发。个人认为,在互联网开发中,使用消息队列,更多的因为在高并发环境下,由于来不及同步处理,请求会发生堵塞,所以我们需要一个队列服务来进行异步的处理,在这种场景下,只要队列服务满足最基本
转载
2023-08-11 22:24:13
112阅读
关于RPC与MQ异同的理解相同:1、都利于大型系统的解耦;2、都提供子系统之间的交互,特别是异构子系统(如java\node等不同开发语言);不同:1、RPC侧重功能调用,因此多半是同步的;备注:也有基于MQ上实现RPC的,这样的话就是异步的,MQ本身,如rabbitMQ也有提供实现RPC的能力;2、MQ 的使用,一方面是基于性能的考虑,比如服务端不能快速的响应客户端(或客户端也不要求实时响应),
原创
2022-12-06 08:54:58
88阅读
一、redis简介redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各
转载
2024-09-29 13:23:28
20阅读
Redis 2.4版本之后就内置队列的功能了,如果是日常比较简单的队列应用,可以选择Redis , 效率还很高的!! Redis 还能实现 有序 和 无序 两种队列(只讨论生产者和消费者这种模式的队列):一、有序队列:1、生产者:$redis = new Redis();
$redis->pconnect('127.0.0.1', 6379)
转载
2023-07-04 14:53:16
49阅读
ServerSocketChannel
让我们从最简单的ServerSocketChannel来开始对socket通道类的讨论
ServerSocketChannel是一个基于通道的socket监听器。它同我们所熟悉的java.net.ServerSocket执行相同的基本任务,不过它增加了通道语义,因此能够在非阻塞模式下运行。
用静态的open( )工厂方法创建一个新的ServerSocketC
socket.io-client的简单使用:文档地址:https://socket.io/docs/v4/client-initialization/安装:npm i socket.io-client使用:const io = require("socket.io-client");
const socket = io("http://localhost:8888", {
// reconne
转载
2023-07-06 16:31:51
110阅读
在开发中经常会遇到延时任务的需求,例如在12306购买车票,若生成订单30分钟未支付则自动取消;还有在线商城完成订单后48小时不评价 ,自动5星好评。像这类在某事件触发后一段时间内执行的需求任务我们称之为 延时任务。那么如何实现延迟任务呢?第一反应是利用cron方案来实现:启动一个cron定时任务,每隔一段时间执行一次,比如30分钟,找到那些超时的数据,直接更新状态,或者拿出来执行一些操
一、通讯协议TCP、UDPJava Socket通信是基于TCP协议来完成的。讲Socket通信之前有必要先了解这两种底层协议。TCP协议是面向连接、保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)传输层协议。TCP协议通过三次握手建立连接,四次握手断开连接,带重传功能的肯定确认来保证可靠传输。其中HTTP协议就是基于TCP协议来实现的。HTTP1.0默认短连接,HTTP1.1默
转载
2024-02-28 17:47:17
48阅读
背景 曾经傻傻的分不清 MQ 与 RPC 的区别到底是什么,我一直理解的是 MQ 和 RPC 都是将请求或者消息封装( json/xml/probuffer 等),然后通过TCP或者HTTP等协议将请求交给另一个节点处理,从而实现节点与节点之间的远程调用。 直到最近,在一个群里听人讨论 MQ 与 RPC 的区别,其中一个网
转载
2024-06-09 22:02:56
59阅读
socket编程与线程之间结合实现多个客户端访问服务器将小写字母转换为大写
原创
精选
2022-05-13 10:32:48
740阅读
点赞
之前自己学过一些libev编程的基础,这次写压测刚好用上了,
转载
2022-12-11 19:55:39
1454阅读
java:多线程与Socket结合的简单示例import java.io.*;import java.net.*;public class MyServer { public static void main(String[] args) throws IOException { ServerSocket server = new ServerSocket(5678)...
原创
2023-04-26 12:39:31
163阅读
ActiveMQ 和java应用的结合 章节导读 在java应用中嵌入ActiveMQ ActiveMq结合Spring 用Spring编写JMS客户端 &n
转载
2023-12-31 21:54:36
127阅读
Java分布式篇6——RabbitMQ1、MQ(Message Queue)消息队列消息队列中间件,是分布式系统中的重要组件主要解决,异步处理,应用解耦,流量削峰等问题实现高性能,高可用,可伸缩和最终一致性的架构使用较多的消息队列产品:RabbitMQ,RocketMQ,ActiveMQ,ZeroMQ,Kafka等2、应用场景2.1、异步处理2.2、应用解耦2.3、流量削峰3、AMQP、JMS、E
转载
2023-06-30 20:59:38
290阅读
ActiveMQ是什么MQ俗称消息队列,也称为消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。MQ的产品种类1.kafka // 编程语言:scala。大数据领域的主流 MQ。
2.rabbit
转载
2024-02-05 02:09:20
72阅读
Java结合Socket实现用户实时通讯
原创
2022-08-17 08:55:12
84阅读
首先,MQ其实就是消息队列,队列我们可以理解为管道,以管道的方式做消息传递。 在本篇博客中,我们先来简单学习一下几种MQ,之后对他们进行对比。ActiveMQ、RabbitMQ、kafka、RocketMQ1. 介绍一下ActiveMQ /ApolloMQ老牌的消息队列,使用Java语言编写。 优点:老牌的消息队列,使用Java语言编写。对JMS(Java Message Service)支持
转载
2023-06-17 20:56:00
2544阅读
第一步:下载mq,win10安装教程www.baidu.com1.启动activemq,并进入网站 http://127.0.0.1:8161/,打开mq网站,可查看相关队列信息 2.点击 Manage ActiveMQ broker,登陆账号密码均为 admin 第二步:idea创建maven工程,加入依赖如下:<dependencies>
<dependenc
转载
2023-10-09 22:28:19
79阅读
在第 10 课时中讲过“手写消息队列”,当时粗略的讲了 Java API 中使用 Queue 实现自定义消息队列,以及使用 Delayed 实现延迟队列的示例;同时还讲了 RabbitMQ 中的一些基础概念。本课时我们将会更加深入的讲解 MQ(Message Queue,消息队列)中间件,以及这些热门中间件的具体使用。我们本课时的面试题是,MQ 常见的使用场景有哪些?你都用过哪些 MQ 中间件?典
转载
2023-07-18 19:51:20
98阅读