分布式消息中间件作用:1. 解耦(同步调用是一种强依赖,而异步调用是一种弱依赖);2. 削峰填谷;3. 降低响应时间;4. 提升吞吐量(Kafka 的吞吐量是MySQL 吞吐量的30-40倍,并且Kafka的扩展性远高于MySQL);Kafka 的设计原理Kafka 是一个分布式消息中间件,但是它并不符合JMS 规范,即使消息已经被消费,也不会被马上删除,当消息保留一定时间后,会被批量删除。在Ka
  • admin
  • 2019-06-21 17:26:59
1.1 引言很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但TCP/IP协议族允许它们互相进行通信。这一点很让人感到吃惊,因为它的作用已远远超出了起初的设想。TCP/IP起源于60年代末美国政府资助的一个分组交换网络研究项目,到90年代已发展成为计算机之间最常应用的组网形式。它是一个真正的开放系统,因为协议族的定义及其多种实现可以不用花钱或花很少的钱就可以公开地得到。它成为被称作
  • arick
  • 2021-06-10 04:30:12
1.1 分布式事务产生的背景1.1.1 数据库单库容量不足,需要分库当前的业务数据量膨胀,数据规模达到数亿甚至更多,单库存储受容量和性能限制,已无法满足业务需求。把数据存储到多个DB,并行操作是趋势。写操作一旦跨多个数据库,单机事务就无法保证数据一致性,需要通过分布式事务中间件进行保证。1.1.2 业务服务化业务量级扩大之后,平台业务服务化即刻成为强需求,实现系统间解耦、隔离不同的业务系统,能够降
  • arick
  • 2020-04-10 03:33:12
维基百科:领域模型可以被看作是一个系统的概念模型,用于以可视化的形式描述系统中的各个实体及其之间的关系。领域模型记录了一个系统中的关键概念和词汇表,显示出了系统中的主要实体之间的关系,并确定了它们的重要的方法和属性。因此,对应于用例所描述的动态视图,领域模型提供了一种对整个系统的结构化的视图。领域模型的一个好处是描述并限制了系统边界。领域模型的语义可以被用在源代码中,因此领域模型可以被应用在底层的
  • arick
  • 2020-04-06 16:28:55
Java不可重入锁和可重入锁理解最近正在阅读Java ReentrantLock源码,始终对可重入和不可重入概念理解不透彻,进行学习后记录在这里。基础知识Java多线程的wait()方法和notify()方法这两个方法是成对出现和使用的,要执行这两个方法,有一个前提就是,当前线程必须获其对象的monitor(俗称“锁”),否则会抛出IllegalMonitorStateException异常,所以
  • arick
  • 2019-09-24 22:08:31
CMS:以获取最短回收停顿时间为目标的收集器,基于并发“标记清理”实现过程:1、初始标记:独占CPU,仅标记GCroots能直接关联的对象2、并发标记:可以和用户线程并行执行,标记所有可达对象3、重新标记:独占CPU(STW),对并发标记阶段用户线程运行产生的垃圾对象进行标记修正4、并发清理:可以和用户线程并行执行,清理垃圾优点:并发,低停顿缺点:1、对CPU非常敏感:在并发阶段虽然不会导致用户线
  • arick
  • 2021-06-14 00:04:21
序言在后端的日常开发工作中,集合是使用频率相当高的一个工具,而其中的HashMap,则更是我们用以处理业务逻辑的好帮手,同时HashMap的底层实现和原理,也成了面试题中的常客。以前曾有详细了解过HashMap的实现原理,看过源码(JDK7版本)。但随着jdk版本的飞速迭代(现在都到JDK13了,但新特性还从没用过。。),主流的jdk使用版本也终于从JDK7挪到了JDK8。由于JDK的向前兼容,在
  • arick
  • 2020-05-13 14:48:32
关于Java线程池的参数设置。线程池是Java多线程里开发里的重要内容,使用难度不大,但如何用好就要明白参数的含义和如何去设置。干货里的内容大多是参考别人的,加入了一些知识点的扩充和看法。希望能对多线程开发学习的童鞋有些启发和帮助。一、Threa关于Java线程池的参数关于Java线程池的参数设置。线程池是Java多线程里开发里的重要内容,使用难度不大,但如何用好就要明白参数的含义和如何去设置。干
  • arick
  • 2019-09-24 22:14:56
索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在 MySQL 数据库中分三类:B+ 树索引Hash 索引全文索引我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的
  • arick
  • 2020-03-19 00:25:03
关于Redis雪崩,穿透,击穿的问题,第一次接触名字有点陌生,听上去还比较相似,难以理解,过去做的很多项目中也都是用过Redis,但是第一次听到这几个关于Redis的坑还是一脸懵逼,直到这些坑真正显灵的时候才彻底意识到搞明白。第一次线上遇到 Redis 雪崩的时候我是维护某电影线上平台(某首富家的)国内某电影平台,因为系统架构老旧,每年大年初一贺岁档电影上映,购票人达到高峰,系统就会发生因缓存失效
  • arick
  • 2020-04-05 20:54:33
京ICP备19006603号-1 Rick ©2018