前言消息中间件本质上就是一种很简单的数据结构——队列,但是一条队列肯定是当不成中间件的,你必须要考虑性能、容灾、可靠性等等因素。这也给我的写作提供了一些思路,我将从队列开始,给你演示一条队列是如何进化成一个靠谱的中间件的。消息中间件的实现有很多,有新贵Kafka、RocketMq,也有老牌劲旅RabbitMq和ActiveMq,不过我最后选择了Nsq来讲解,因为它极简、清爽,用起来舒服,讲起来也好
分类:
其他好文 时间:
2020-05-14 01:54:02
阅读次数:
76
一.创建Springboot项目,添加如下依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><gro
分类:
编程语言 时间:
2020-05-14 01:10:51
阅读次数:
67
我们的分库分表中间件在线上运行了两年多,到目前为止还算稳定。在笔者将精力放在处理各种灾难性事件(例如中间件物理机宕机/数据库宕机/网络隔离等突发事件)时。竟然发现还有一些奇怪的corner case。现在就将排查思路写成文章分享出来。 Bug现场 应用拓扑 应用通过中间件连后端多个数据库,sql会根 ...
分类:
数据库 时间:
2020-05-12 11:54:20
阅读次数:
76
Redis 集群的部署及原理 前言 Redis 是我们目前大规模使用的缓存中间件,由于他强调高效而又便捷的功能,得到了广泛的使用。单节点的Redis已经达到了很高的性能,为了提高可用性我们可以使用Redis 集群。本文参考了Rdis的官方文档和使用Redis官方提供的Redis Cluster工具搭 ...
分类:
其他好文 时间:
2020-05-11 15:32:49
阅读次数:
52
一、java的异常体系 Throwable Error 错误。一般是由于jvm或者是硬件引发的问题,所以一般不会通过代码去处理,可以看下硬件或者外部对接系统或中间件等问题 Exception 异常,一般是代码中的问题,通过修改代码去解决 二、异常的处理方式 异常的捕获和异常的抛出 捕获异常: try ...
分类:
编程语言 时间:
2020-05-11 13:00:15
阅读次数:
79
1.jvm命令查看 pmap命令的使用: pmap PID jmap命令的使用: lsof p PID jmap histo:live PID jmap dump:live,format=b,file=dump.hprof PID https://blog.csdn.net/qq_25622107/ ...
分类:
系统相关 时间:
2020-05-11 01:04:27
阅读次数:
86
AMQP概论 AMQP 是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。目标是实现一种在全行业广泛使用的标准消息中间件技术,以便降低企业和系统集成的开销,并且向大众提供工业级的集成服务。主要实现有 ...
分类:
其他好文 时间:
2020-05-10 23:26:12
阅读次数:
71
关于redis的相关总结 1.什么是redis? 2. 缓存中间件——Memcache和redis的区别? Memcache: 代码层次类似哈希,不支持简单数据类型,不支持分片,不支持主从分布,不支持持久化存储。 redis 数据类型丰富,支持主从分布,支持分片,支持持久化存储 3.为什么redis ...
分类:
其他好文 时间:
2020-05-10 18:59:54
阅读次数:
65
Express 作为 Node.js 的框架,如今发展可谓如日中天。我很喜欢其灵活、易扩展的设计理念。尤其是该框架的中间件架构设计:使得在应用中加入新特性更加标准化、成本最小化。这篇文章,我会尝试编写一个非常简单、小巧的中间件,完成服务端缓存功能,进而优化性能。 关于中间件 说到中间件,Expres ...
分类:
Web程序 时间:
2020-05-10 17:14:23
阅读次数:
68
# 进城之间数据隔离 # 进程之间通信(IPC) Inter Process communication # 基于文件 :同一台机器上的多个进程之间通信 # Queue 队列 # 基于socket的文件级别的通信来完成数据传递的 # 基于网络 :同一台机器或者多台机器上的多进程间通信 # 第三方工具 ...
分类:
其他好文 时间:
2020-05-10 14:44:04
阅读次数:
65