自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 资源 (7)
  • 收藏
  • 关注

原创 Go语言进阶

Go语言进阶

2023-01-01 00:01:29 906 3

转载 分布式系统事务一致性解决方案

开篇在 OLTP 系统领域,我们在很多业务场景下都会面临事务一致性方面的需求,例如最经典的 Bob 给 Smith 转账的案例。传统的企业开发,系统往往是以单体应用形式存在的,也没有横跨多个数据库。我们通常只需借助开发平台中特有数据访问技术和框架(例如 Spring、JDBC、ADO.NET),结合关系型数据库自带的事务管理机制来实现事务性的需求。关系型数据库通常具有 ACID 特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durabilit

2021-08-17 20:59:26 354

转载 分库分表的几种常见玩法及如何解决跨库查询等问题

在谈论数据库架构和数据库优化的时候,我们经常会听到“分库分表”、“分片”、“Sharding”…这样的关键词。让人感到高兴的是,这些朋友所服务的公司业务量正在(或者即将面临)高速增长,技术方面也面临着一些挑战。让人感到担忧的是,他们系统真的就需要“分库分表”了吗?“分库分表”有那么容易实践吗?为此,笔者整理了分库分表中可能遇到的一些问题,并结合以往经验介绍了对应的解决思路和建议。垂直分表垂直分表在日常开发和设计中比较常见,通俗的说法叫做“大表拆小表”,拆分是基于关系型数据库中的“列”(字段)进行的。

2021-08-17 20:41:22 785

转载 Java接口全链路优化:如何降低接口RT时长

背景:由于以前的应用多且杂,所以最近对公司的应用进行优化改造,需要所有接口RT达到xxx值以下。一、监控那么问题来了~现在应用都是放养式的,几乎没有什么监控工具,不可能根据log一个接口一个接口去捞日志,那怎么知道哪些接口rt长,需要优化呢。 所以第一步我们做的事情就是上监控。监控工具:pinpoint。选择pinpoint有几个方面的考量:1.对应用代码0侵入,这个当然是我们程序员最关心的,谁都不喜欢因为附加功能在自己的应用大动干戈,万一影响原有业务就不值得了。。2.应用依赖关系,

2021-08-14 17:07:09 1250

转载 面试官:线程池中多余的线程是如何回收的?

最近阅读了JDK线程池ThreadPoolExecutor的源码,对线程池执行任务的流程有了大体了解,实际上这个流程也十分通俗易懂,就不再赘述了,别人写的比我好多了。不过,我倒是对线程池是如何回收工作线程比较感兴趣,所以简单分析了一下,加深对线程池的理解吧。下面以JDK1.8为例进行分析1. runWorker(Worker w)工作线程启动后,就进入runWorker(Worker w)方法。里面是一个while循环,循环判断任务是否为空,若不为空,执行任务;若取不到任务,或发生异常,

2021-07-22 16:13:08 145

原创 Spring的事务

搞懂Spring事务失效的8大原因,轻轻松松面试过关关于加@Transactional注解的方法之间调用,事务是否生效的问题Spring如何在一个事务中开启另一个事务Spring事务传播行为详解

2021-07-16 11:29:31 99

转载 面试官:幂等性的接口该如何设计?

幂等性设计今天我们来聊聊接口的幂等性设计,所谓幂等,就是任意多次执行所产生的影响均与一次执行的影响相同。幂等性接口是指可以使用相同参数重复执行,并能获得相同结果的接口。这里就不展开数学中的定义了,有兴趣的可以自行google。为什么接口需要幂等呢?我们都知道,作为接口的调用方,对于接口调用的结果,一般会返回成功、失败和超时。对于成功和失败,都是明确的状态,调用放可以根据结果做相应的处理,但是对于超时,由于不确定是否成功请求了,作为调用方来说,所以一般都会选择重试。而重试就会出现定义中描述的多次.

2021-07-16 10:51:19 132

转载 美团二面:Redis与MySQL双写一致性如何保证?

前言四月份的时候,有位朋友去美团面试,他说被问到Redis与MySQL双写一致性如何保证? 这道题其实就是在问缓存和数据库在双写场景下,一致性是如何保证的?本文将跟大家一起来探讨如何回答这个问题。公众号:捡田螺的小男孩 github地址,感谢每一颗star谈谈一致性一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。强一致性:这种一致性级别是最符合用户直觉的,它要求系统写入什么,读出来的也会是什么,用户体验好,但实现起来往往对系统的性能影响大 弱一致性

2021-07-06 23:10:48 104

转载 什么是延迟队列?该如何实现?

背景何为延迟队列?顾名思义,延迟队列就是进入该队列的消息会被延迟消费的队列。而一般的队列,消息一旦入队了之后就会被消费者马上消费。延迟队列能做什么?延迟队列多用于需要延迟工作的场景。最常见的是以下两种场景:延迟消费。比如: 用户生成订单之后,需要过一段时间校验订单的支付状态,如果订单仍未支付则需要及时地关闭订单。 用户注册成功之后,需要过一段时间比如一周后校验用户的使用情况,如果发现用户活跃度较低,则发送邮件或者短信来提醒用户使用。 延迟重试。比如消费者从队列里消费消息时失败

2021-07-06 22:38:20 9324

转载 面试官:幂等性的接口该如何设计?

幂等性设计今天我们来聊聊接口的幂等性设计,所谓幂等,就是任意多次执行所产生的影响均与一次执行的影响相同。幂等性接口是指可以使用相同参数重复执行,并能获得相同结果的接口。这里就不展开数学中的定义了,有兴趣的可以自行google。为什么接口需要幂等呢?我们都知道,作为接口的调用方,对于接口调用的结果,一般会返回成功、失败和超时。对于成功和失败,都是明确的状态,调用放可以根据结果做相应的处理,但是对于超时,由于不确定是否成功请求了,作为调用方来说,所以一般都会选择重试。而重试就会出现定义中描述的多次.

2021-07-04 10:49:55 205

转载 Mysql死锁必看***

咱们使用 MySQL 大概率上都会遇到死锁问题,这实在是个令人非常头痛的问题。本文将会对死锁进行相应介绍,对常见的死锁案例进行相关分析与探讨,以及如何去尽可能避免死锁给出一些建议。话不多说,开整!什么是死锁死锁是并发系统中常见的问题,同样也会出现在数据库MySQL的并发读写请求场景中。当两个及以上的事务,双方都在等待对方释放已经持有的锁或因为加锁顺序不一致造成循环等待锁资源,就会出现“死锁”。常见的报错信息为Deadlock found when trying to get lock.....

2021-07-04 01:15:33 138

转载 MySQL 基础题

MySQL 基础关系型数据库介绍顾名思义,关系型数据库就是一种建立在关系模型的基础上的数据库。关系模型表明了数据库中所存储的数据之间的联系(一对一、一对多、多对多)。关系型数据库中,我们的数据都被存放在了各种表中(比如用户表),表中的每一行就存放着一条数据(比如一个用户的信息)。大部分关系型数据库都使用 SQL 来操作数据库中的数据。并且,大部分关系型数据库都支持事务的四大特性(ACID)。有哪些常见的关系型数据库呢?MySQL、PostgreSQL、Oracle、SQL Ser

2021-07-04 01:14:32 283

转载 Java双亲委派机制

如果面试官问你,类加载过程是哪几步?巴拉巴拉巴拉...(加载、验证、准备、解析、初始化)见这小伙子面容惊奇,脸泛红光,不由自主的就问了一下双亲委派模型说一下吧;遇见没准备充分的,瞬间懵逼。下面我们就来说一下这个一个有意思的虚拟机类加载机制。一说起双亲委派,就必然要先聊一下Java中的类加载器。Java中的类加载器Bootstrap ClassLoader (启动类加载器)Bootstrap ClassLoader,启动类加载,默认加载的是jdk\lib目录下jar中诸多类;

2021-06-19 11:45:10 123

转载 面试官:为什么Integer用==比较时127相等而128不相等?2021-06-11

前言这个几乎是Java 5引入自动装箱和自动拆箱后,很多人都会遇到(而且不止一次),而又完全摸不着头脑的坑。虽然已有很多文章分析了原因,但鉴于我这次还差点坑了同学,还是纪录下来长点记性。问题描述例一来个简单点的例子publicstaticvoidmain(String[]args){for(inti=0;i<150;i++){Integera=i;Integerb=i;...

2021-06-11 21:30:45 204

转载 *面试官:如何停止一个正在运行的线程?

前言 1. 停止不了的线程 2. 判断线程是否停止状态 3. 能停止的线程--异常法 4. 在沉睡中停止 5. 能停止的线程---暴力停止 6.方法stop()与java.lang.ThreadDeath异常 7. 释放锁的不良后果 8. 使用return停止线程 停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作。停止一个线程可以用Thread.stop()方法,但最好不要用它。虽然它确实可以停止一个

2021-06-01 16:12:53 103

转载 阿里技术:10问10答-你真的了解线程池吗?

《Java开发手册》中强调,线程资源必须通过线程池提供,而创建线程池必须使用ThreadPoolExecutor。手册主要强调利用线程池避免两个问题,一是线程过渡切换,二是避免请求过多时造成OOM。但是如果参数配置错误,还是会引发上面的两个问题。所以本节我们主要是讨论ThreadPoolExecutor的一些技术细节,并且给出几个常用的最佳实践建议。我在查找资料的过程中,发现有些问题存在争议。后面发现,一部分原因是因为不同JDK版本的现实是有差异的。因此,下面的分析是基于当下最常用的版本JDK1....

2021-05-31 13:02:54 171

转载 Openrasp百度开源代码分析

Openrasp是百度关于rasp技术的开源项目,由于工作需要,之前对rasp的源码进行了简单的分析。文章是之前就写好的,现在放出了,希望对大家有写帮助。OpenRASP中java引擎的源码分析安装包解压后目录结构如下:RaspInstall.jar是OpenRASP中java引擎的安装(卸载)运行文件,在终端中执行以下命令进行安装(以tomcat为例):java -jar RaspInstall.jar -install <tomcat_root>值得注意的是:&lt.

2021-05-27 17:16:58 667

转载 面试官:InnoDB解决幻读的方案了解么?

最近要在公司内做一次技术分享,思来想去不知道该分享些什么,最后在朋友的提示下,准备分享一下MySQL的InnoDB引擎下的事务幻读问题与解决方案--LBCC&MVCC。经过好几天的熬夜通宵,终于把这部分的内容捋清楚了。至于为什么说是InnoDB呢?因为MyISAM引擎是不支持事务的。事务概念一个事情由 n 个单元组成,这 n 个单元在执行过程中,要么同时成功,要么同时失败,这就把 n 个单元放在了一个事务之中。举个简单的例子:在不考虑试题正确与否的前提下,一张试卷由多个题目构成,当你答完

2021-05-19 00:09:18 203

转载 **由于不知线程池的bug,某Java程序员叕被祭天

说说你对线程池的理解?首先明确,池化的意义在于缓存,创建性能开销较大的对象,比如线程池、连接池、内存池。预先在池里创建一些对象,使用时直接取,用完就归还复用,使用策略调整池中缓存对象的数量。Java创建对象,仅是在JVM堆分块内存,但创建一个线程,却需调用os内核API,然后os要为线程分配一系列资源,成本很高,所以线程是一个重量级对象,应避免频繁创建或销毁。既然这么麻烦,就要避免呀,所以要使用线程池!一般池化资源,当你需要资源时,就调用申请线程方法申请资源,用完后调用释放线程方法释放资源.

2021-05-17 09:47:28 183

转载 * 阻塞队列的作用及实现

前言提到阻塞队列,大家脑海中就会冒出:BlockingQueue ArrayBlockingQueue LinkedBlockingQueue SynchronousQueue但JDK阻塞队列本身是非常简单的,难的是阻塞队列内部的AQS。如果你之前对阻塞队列一无所知又恰好想要学习,希望能耐心看完下面的内容。还是那句话,学习阻塞队列的重点不是阻塞队列本身...我自己都可以手写阻塞队列。为了打破大家对阻塞队列“难”、“晦涩”、“神秘”的印象,我会从新的角度切入,重构大家对阻塞队列的认识。

2021-05-16 23:34:36 316

转载 Java中的零拷贝和NIO

前言'零拷贝'这个词大家应该不陌生了,也算是大厂面试中的一个高频考点,玩过 NETTY 的朋友应该对此相当熟悉了,NETTY 的「高并发」很大程度上都是因为 NIO,而 NIO 的核心就是零拷贝技术了,今天就让你十分钟玩懂零拷贝。传统的IO模型是怎么样的?我们来看一张图,让我们看看一个文件从磁盘传输到网卡究竟要经历什么样的磨难: 「第一步」:将文件通过「DMA」技术从磁盘中拷贝到内核缓冲区 「第二步」:将文件从内核缓冲区拷贝到用户进程缓冲区域中 「第三步」:将文..

2021-05-16 18:10:36 174

转载 《面试八股文》之Dubbo

前言虽然金三银四过了,但是金九银十马上就要到了,还不快快准备起来?今天就开启《面试八股文》系列的第一版-RPC王者Dubbo,moon 在后续的《面试八股文》系列还将继续推出mysql,spring,并发,redis,kafka,zookeeper等一系列文章。当然大家有什么好的建议也可以通过公众号或者个人微信和我交流。每天一个知识点 不要背,要理解,大家不要夸我内卷了 目录 1.Dubbo是什么?RPC又是什么? 2. Dubbo能做什么? 3.能...

2021-05-16 18:06:32 408

原创 Java虚拟机类加载机制

一、前言 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。与那些在编译时需要进行连接的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略让Java语言进行提前编译会面临额外的困难,也会让类加载时稍微增加一些性能开销,但是却为Java应用提供了极高的扩展性和灵活性,Java天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接...

2021-05-16 16:25:58 82

原创 Iterator引发的ConcurrentModificationExcetion

前言最近写一个程序报了一个ConcurrentModificationExcetion,记录一下问题。Iterator是工作在一个独立的线程中,并且拥有一个mutex锁,就是说Iterator在工作的时候,是不允许被迭代的对象被改变的。Iterator被创建的时候,建立了一个内存索引表(单链表),这个索引表指向原来的对象,当原来的对象数量改变的时候,这个索引表的内容没有同步改变,所以当索引指针往下移动的时候,便找不到要迭代的对象,于是产生错误。List、Set等是动态的,可变对象数量的...

2021-05-13 17:10:52 118

转载 面试官:你分析过@Annotation注解的实现原理吗?

【276期】面试官:你分析过@Annotation注解的实现原理吗?阿丙Java面试题精选前天什么是注解?对于很多初次接触的开发者来说应该都有这个疑问?Annontation是Java5开始引入的新特征,中文名称叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用。Annontation...

2021-05-13 10:49:07 86

转载 **面试官:MyBatis 的执行流程

前言MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下:1、Mapper接口和映射文件是如何进行绑定的2、MyBatis中SQL语句的执行流程3、自定义MyBatis中的参数设置处理器typeHandler4、自定义MyBatis中结果集处理器typeHandlerPS:本文基于MyBatis3.5.5版本源码概要在MyBatis中,利用编程式进行数据查询,主要就是下面几行代码:...

2021-05-13 10:19:02 94

转载 AQS原理及AQS同步组件总结

前言常见问题:AQS 原理?;CountDownLatch和CyclicBarrier了解吗,两者的区别是什么?用过Semaphore吗?本节思维导图:【强烈推荐!非广告!】阿里云双11褥羊毛活动:https://m.aliyun.com/act/team1111/#/share?params=N.FF7yxCciiM.hf47liqn差不多一折,不过仅限阿里云新人购买,不是新人的朋友自己找方法买哦!1 AQS 简单介绍AQS的全称为(AbstractQueuedSynchron..

2021-05-12 12:41:19 158

转载 面试题:如何实现丝滑般的数据库扩容

引言初版如果我们的线上服务不重要,一般来个单体的数据库DB来存储数据即可来。单体应用优点:简单,省事,方便。缺点:数据并发性,稳定性都有问题。进阶随着数据量的不断增大,一般我们要对数据进行水平切分,水平切分的规则你可以简单根据用户id或者用户IP对数据进行取模,实现路由功能。当然也可以增加Slave跟KeepAlived来实现高可用。主从+路由但问题是,如果随着业务发展,目前我们2个库的性能扛不住了,还要继续水平拆分,造出更多库咋办?你一般是如何实现丝滑扩容的呢?

2021-05-11 10:18:11 117

转载 分区取模分库分表策略:多表事务分库内闭环解决方案

一 前言技术同学都知道,当表数据超过一定量级,我们就需要通过分表来解决单表的性能瓶颈问题;当数据库负载超过一定水平线,我们就需要通过分库来解决单库的连接数、性能负载的瓶颈问题。本文主要阐述在同时满足以下业务场景: 分表分库存储 需要对分表数量不同的表进行同事务操作 这些表的分库分表策略依赖的Sharding业务ID一致 等情况下,让这些不同数量级表,在同一个业务ID的事务操作路由到同一分库中的方案,省去解决垮库事务的烦恼。二 案例1. 背景假设有2个数...

2021-05-11 09:56:17 297

转载 今日头条的面试题:LRU原理和Redis实现

很久前参加过今日头条的面试,遇到一个题,目前半部分是如何实现 LRU,后半部分是 Redis 中如何实现 LRU。我的第一反应是操作系统课程里学过,应该是内存不够的场景下,淘汰旧内容的策略。LRU ... Least Recent Used,淘汰掉最不经常使用的。可以稍微多补充两句,因为计算机体系结构中,最大的最可靠的存储是硬盘,它容量很大,并且内容可以固化,但是访问速度很慢,所以需要把使用的内容载入内存中;内存速度很快,但是容量有限,并且断电后内容会丢失,并且为了进一步提升性能,还有CPU内部的

2021-05-10 12:47:16 240

转载 面试官:你对MySQL中的索引了解多少?

前言因为现在使用的mysql默认存储引擎是Innodb,所以本篇文章重点讲述Innodb下的索引, 顺带简单讲述其他引擎。希望小伙伴们能通过这片文章对mysql的索引有更加清晰的认识,废话不多说,我们开始吧。索引介绍首先,我们先带着一些问题来看接下来的内容。 索引是个什么东西? 我们可以创建哪些索引? 哪些字段适合建立索引呢? 索引是不是越多越好呢? 为什么我们不建议使用uuid、身份证号等数据做为主键? 为什么不建议使用select *

2021-05-10 11:28:01 245

转载 ***一个ThreadLocal和面试官大战30个回合

开场杭州某商务楼里,正发生着一起求职者和面试官的battle。面试官:你先自我介绍一下。安琪拉:面试官你好,我是草丛三婊,最强中单(妲己不服),草地摩托车车手,第21套广播体操推广者,火的传人安琪拉,这是我的简历,请过目。面试官:看你简历上写熟悉多线程编程,熟悉到什么程度?安琪拉:精通。对。。。,你没看错,问就是“精通”,把666打在评论区。面试官:[心想] 莫不是个憨批,上来就说自己精通,谁把精通挂嘴上,莫不是个愣头青嘞!面试官:那我们开始吧。用过Threadlocal

2021-05-07 19:29:26 317

转载 MySQL(MAC版)出现2003 - Can‘t connect to MySQL server on ‘127.0.0.1‘ (61 “Connection refused“)解决

第一步  关闭mysql服务:手动方式:苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击stop mysql server)命令行:~$ sudo /usr/local/mysql/support-files/mysql.server stop第二步  禁止或跳过mysql验证功能进入终端输入:cd /usr/local/mysql/bin 回车登录管理员权限 sudo su (输入你电脑的密码)回车后输入以下命令来禁止my

2021-05-07 16:14:49 3255

转载 mac m1 安装开发常用软件

文章目录折腾了一天, 难受0x01 你喜欢的软件 0x02 开发用-无窗口的软件 0x03 图形化界面0x00 折腾了一天, 难受0x01 你喜欢的软件QQ, 微信, 网易云音乐, 咪咕音乐, QQ音乐, 钉钉0x02 开发用-无窗口的软件0, 安装 githttps://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git当你使用git时, 系统会自动提示你安装一些基本的命令配置v.

2021-05-06 16:35:45 910

转载 ​​​​​​​ 展开说说,Spring Bean IOC、AOP 循环依赖

一、前言延迟满足能给你带来什么?大学有四年时间,但几乎所有人都是临近毕业才发现找一份好工作费劲,尤其是我能非常熟悉的软件开发行业,即使是毕业了还需要额外花钱到培训机构,在学一遍编程技术才能出去找工作。好像在校这几年压根就没学到什么!就我个人而言可能是因为上学期间喜欢编程,也从师哥、师姐那里听到一些关于毕业后找工作的不容易,也了解了一些社会上对程序员开发技能的要求级别。也就是得到了这些消息,又加上自己乐于折腾,我给自己定了一个每天都能完成的小目标:红尘世界几个王,我自不服迎头上。日敲代码两

2021-05-06 09:35:24 118

转载 【秒杀系统】零基础上手秒杀系统(二):令牌桶限流 + 再谈超卖

前言本文是秒杀系统的第二篇,通过实际代码讲解,帮助你快速的了解秒杀系统的关键点,上手实际项目。本篇主要讲解接口限流措施,接口限流其实定义也非常广,接口限流本身也是系统安全防护的一种措施,暂时列举这几种容易理解的:令牌桶限流 单用户访问频率限流 抢购接口隐藏此外,前文发出后很多同学对于乐观锁在高并发时无法卖出全部商品提出了“严正抗议”,所以还是在本篇中补充讲解下乐观锁与悲观锁。前文回顾和文章规划:从零开始打造简易秒杀系统:防止超卖 从零开始打造简易秒杀系统:接口限...

2021-05-05 22:48:58 454

转载 面试官:如何设计出骚气的秒杀系统?

前言秒杀系统相信很多人见过,比如京东或者淘宝的秒杀,小米手机的秒杀,那么秒杀系统的后台是如何实现的呢?我们如何设计一个秒杀系统呢?对于秒杀系统应该考虑哪些问题?如何设计出骚气的秒杀系统?本期我们就来探讨一下这个问题一:秒杀应该考虑哪些问题1.1:超卖问题分析秒杀的业务场景,最重要的有一点就是超卖问题,假如备货只有100个,但是最终超卖了200,一般来讲秒杀系统的价格都比较低,如果超卖将严重影响公司的财产利益,因此首当其冲的就是解决商品的超卖问题。1.2:高并发秒杀具有时间短、...

2021-05-05 22:45:47 139

转载 rocketMQ分享 02 producer 篇

producer 发送流程producer 在消息发送时,肯定要先知道 topic 的信息,以及 topic 在哪个 broker 上,那么 producer 是如何做的呢?还记得在 01 开篇说的吗?namesrv提供一个通过topic获取路由信息的接口(RouteInfoManager#pickupTopicRouteData).producer就是根据该接口返回的TopicRouteData, 知道要将topic发送至哪个broker.TopicRouteData...

2021-05-05 22:31:40 141

转载 rocketMQ系列 01 namesrv 篇

整体架构从架构设计图来看,namesrv 充当的角色为注册中心,broker 向 namesrv 注册。producer、consumer 分别与 namesrv 保持长连接, 并从 namesrv 中拉取 broker 信息,然后再与namesrv 之间是不互相通信的,他们各自持有 broker 的注册信息。 在分布式领域中,正常集群部署,都会有主从、或者有 leader 节点。但是对于 namesrv,它每个节点都是独立的,每个 namesrv 节点都是互不通信。rocketMQ 在...

2021-05-05 22:15:28 1302

转载 漫画:从JVM锁扯到Redis分布式锁

前言不论面试还是实际工作中,Redis都是避无可避的技术点。在我心里,MySQL和Redis是衡量一个程序员是否“小有所成”的两把标尺。如果他能熟练使用MySQL和Redis,以小化大,充分利用现有资源出色地完成当下需求,说明他已经成长了。本篇文章将会从JVM的synchronized、ReentrantLock聊到Redis分布式锁,不涉及具体的代码实现,但深入浅出地介绍了其中的思想及大致原理,对小白十分友好~JVM锁所谓JVM锁,其实指的是诸如synchronized关键字或者Reent

2021-05-05 18:14:09 185

快应用开发工具quickapp-ide.exe

快应用开发工具quickapp-ide,界面简单,代码调试方便,自动更新视图,非常好用,发布快应用之前, 需要生成证书。点击发布rpk包按钮, 生成成功的话会弹出对应的文件夹。

2019-12-30

基于百度大脑的AndroidAPP后端是SpringBoot框架.zip

基于百度大脑的Android应用,实现了人脸识别、人脸评分、人脸库添加、人脸融合、人脸对比,后端是Springboot框架,并有MongoDB接口,用户可以自己调用。

2019-11-17

计算机网络课程设计-电子政务系统拓扑图

计算机课程设计,电子政务网站拓扑图 【设计任务】 网站的建设要求能接入Internet;站点的设计要求有100个以上的站点,内部采用10 主干网,100M 到点;至少要划分 4 个以上的子网;站点需要提供 DNS、DHCP、WEB、FTP 服务;编写简单的WEB 主页,网站设置至少要包含数据进出的ACL策略,构建拓扑时应考 电子政务站点的特殊性和使用性。

2018-06-24

hbase1.2.3

hbase-1.2.3-bin.tar.gz 本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 、HBase数据模型、HBase物理存储、HBase系统架构,HBase调优、HBase Shell访问等

2017-10-30

数据分析工具之d3

最新的D3.js D3.js 是一个 JavaScript 库,它主要用于对数据的动态图表展示。通过 HTML、SVG 以 及 CSS,D3 可以让数据展现得更加鲜活。D3 使得数字的图形化展示变得异常简单,可以 说,它是当下最强大的基于网络的数据可视化技术。

2017-10-30

SQLyog64位

绿色免安装破解版

2016-10-13

javaAPI中文版

中文版javaAPI可以帮助英语差的人学习英语,便于更好的了解javaAPI,带索引哟~

2016-10-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除