10 xxxxxx91116

尚未进行身份认证

暂无相关简介

等级
TA的排名 7k+

《RocketMq》四、Client Producer/Consumer总览

一、总览Rocketmq的客户端包括Producer和Consumer,这2个部分。虽然两个部分的细节不同,但在发送消息,维持broker/namesrv连接,等方面有着相同的处理方式,可以对二者统一进行管理。让我们自己先思考下,一个client需要完成哪些内容:获取namesrv的地址与namesrv交互,获取broker的地址以及TopicRouteData管理进程中所有的p...

2018-03-01 16:02:33

记一次tomcat报错Too many open files的排查历程

本文的技术细节并不具通用性,但是排查的思路过程值得自己mark下,上次遇到这样的刺激线上故障已经是去年3月了~~~这次排查花了3个小时,还算快啦,也算最近的一个小彩蛋。昨天在公司coding,测试组的同事突然来找我,告知预发环境的系统挂了,请求都是异常,打开业务日志和tomcat的日志排查,满屏的Toomanyopenfiles,果然lsof-ppid预发机器,已经打满到了655...

2018-01-09 13:37:37

验证码识别

验证码识别是3年前的一个小愿望了(当时是做一个自动回帖器,抽奖iphone),但自己这两年主要在做分布式架构,今年终于抽出了空,又战胜了对数学的恐惧,在coursera上学习了吴恩达的机器学习和深度学习,验证码识别也算是对部分课程的实践,下面就来整理一下这次识别的过程。验证码识别主流程识别细节1目标检测检测出验证码图片中的字符边距11labelImg使用12darknet使用

2017-12-31 18:54:51

【高并发编程】再谈同步、异步、阻塞、非阻塞

同步、异步、阻塞、非阻塞的概念一直是计算机学科中很重要的概念,而这种细微的差别常常被大家混淆,我自己在过一段时间后也需要复习。今天再次翻出这个概念,仍然觉得不够清晰,今天再次深入了解了这四大天王。以前转过一篇博客:但是始终太抽象,每次都要重头看,其次,这篇文章仍然没有很清晰的表达四大天王的特色,因此这里给出自己的分析:一、一个有问题,但有趣的例子在网上看到一个有趣的例子,虽

2016-04-24 16:13:35

《RocketMq》七、Broker中心节点

broker的位置和结构图:由于之前已经把存储,网络分解出来进行了详细的分析,因此Broker部分变得较简单,这里主要分为以下几个部分来说:一、Broker与NameSrv交互Broker会不断发送register信息给NameSrv,将自身的clusterName,brokerName,topic信息发送到Namesrv;而Consumer和Producer则会通过Namesrv获取信息,这里最...

2015-12-29 17:33:53

《RocketMq》六、Client-Consumer消费者详解

Consumer-集群Push模式-简介:0、背景介绍        Consumer主要用于向Broker请求Producer产生的消息,对其进行消费;对于RocketMQ,我们一定很好奇,如何实现分布式的Consumer消费,如何保证Consumer的顺序性,不重复性呢? 存在的问题:1.如果在集群模式中新增/减少组(group)消费者,可能会导致重复消费;原因是:假设新增消费者前,C...

2015-12-23 23:18:05

《RocketMq》五、Client-Producer生产者详解

Producer的用途大家都很清楚,主要就是生产消息,那么分布式模式下与单队列模式不一样,如何能够充分利用分布式的优势,将生产的消息分布到不同的队列下呢?Rocket-MQ提供了3种不同模式的Producer:1. NormalProducer2. OrderProducer3. TransactionProducer一、数据结构1. TopicPublicInfo:仅仅是Producer使用,保...

2015-12-22 12:53:56

《RocketMq》三、NameServer

RocketMQ-nameSrv用于管理所有broker的信息,以便于Producer和Consumer能够获取到正确的Broker信息,进行业务处理;可以看到NameSrv的主要管理内容如下:1. 接收Broker的注册,注销请求;2. Producer获取topic下的所有BrokerQueue,put消息3. Consumer获取topic下所有的BrokerQueue,get消息所以可以看...

2015-12-18 17:41:46

《RocketMq》二、存储篇

RocketMQ的数据存储部分也是一个重头戏,他主要用于存储Producer生产的消息,Consume的逻辑队列,索引,以及主从复制,这里也是一个非常好的范例,我们可以看到如何处理数据存储,如何提高IO效率。东西太多信息量略大有点乱,之后再整理吧......一、总体结构CommitLog:实时执行,真正的I/O写入磁盘操作,要求是实时的(当然,有时候只是写入内存,定时刷盘);ConsumeQue...

2015-12-16 21:31:55

《RocketMq》一、网络传输篇

你是否想知道一个分布式系统的网络传输解决方案,那你可以学习下RocketMQ的网络传输原理,从RocketMQ的Remoting网络处理部分,可以学习到如何进行高效的网络传输,这些思想可以应用到不同的业务中。 一、要解决的问题         其实大部分应用的网络处理都要解决如下图所示的问题:那么就以RocketMQ的源码入手,看看它是如何架构如上的结构的。 二、RocketMQ-remoting...

2015-12-12 22:38:51

while循环重定向只能读取第一行

今天碰到一个ssh的问题,google之。原因如下:需要读取一个文本,次文本每一行包含一个IP在while循环中使用ssh,但ssh完第一行后就退出了,如何避免自动读取一行就跳出while循环,此文将详细解释其原因。     最近在写一个自动更新的shell,可是发现如果在使用while循环从一个文件中读取ip地址,然后访问就只能读取第一行纪录。代码如下: 

2015-06-02 17:41:26

《操作系统》操作系统中锁的实现原理

转自:http://blog.sina.com.cn/s/blog_75f0b54d0100r7af.html在多线程编程中,为了保证数据操作的一致性,操作系统引入了锁机制,用于保证临界区代码的安全。通过锁机制,能够保证在多核多线程环境中,在某一个时间点上,只能有一个线程进入临界区代码,从而保证临界区中操作数据的一致性。所谓的锁,说白了就是内存中的一个整型数,拥有两种状态:空闲

2015-05-30 12:19:00

《Arduino》SPI模块官方手册

SerialPeripheralInterface(SPI)是一种同步串行数据传输协议,用于近距离时,微控制器(Microcontrollers),如Arduino,与其他外围设备的快速通信。他也可以用于2个微控制器的通讯。

2015-01-17 16:39:14

<Hello Arduino>继电器的原理和使用

一、继电器原理继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。 电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力

2014-12-20 18:16:14

<Excel>怎么把所有文本都加上小三角?

选中该列,数据-分列-下一步-下一步-文本-完成。参考:http://zhidao.baidu.com/question/107226499.html?qbl=relate_question_0&word=excel%20%CE%AA%CA%B2%C3%B4%CB%AB%BB%F7%20%B2%C5%D3%D0%C8%FD%BD%C7

2014-12-18 11:24:44

<JAVA>为什么一个java文件只能有一个public类

以后,如果有人问你为什么一个java文件只能有一个public类呢?答:很简单啊,因为public类的名字要和java文件名相同,文件名只有一个,当然只能有一个public类!问:good!那为神马文件名必须要和public类名字相同呢?不知道了吧?答:这个问题是这样的,因为jvm虚拟机为了提高查找类的速度,使用import语句导入的时候,只会导入对应空间的文件名所对应的class文件

2014-12-13 12:49:32

《Hello Arduino》数电I/O

Hello Arduino这是一篇小白Arduino文章,记录一些常用的Arduino函数和应用场景。Arduino API主页:http://arduino.cc/en/Reference/HomePage一:数电I/O1.1 pinMode()描述:设置pin引脚为输入或者输出模式,也就是Arduino上面的那些引脚原型:pinMod

2014-11-29 17:34:16

<C语言 入栈顺序>为什么函数入栈顺序从右往左?

最近在阅读《程序员的自我修养》,看到10.2节,又想起以前的入栈顺序,对此又深挖le

2014-10-26 18:10:31

【oracle】oralce 恢复表数据

今天在做项目的时候,改错了oracle数据库表里面的一个字段,真的吓到了一下,要是恢复不过来就悲剧了,肯定要被批。。。好在成功的恢复了回来,下面给出恢复方法。情景:在Linux下,假设有一个表TABLE_A,里面有一个字段name,我们把name字段修改了,却发现改错了,想恢复到30分钟前的样子。第一步:执行:CREATE TABLE QUICK_TABLE A

2014-03-28 16:44:27

[升级凯立德地图] 升级凯立德地图 (车载 导航仪)

序最近帮老爸升级车上的车载凯立德地图,导航仪是飞歌的,在网上看到的帖子都比较零散,下面总结一下,我将把用到的工具和升级过程详细描述,希望能帮助有需要的朋友!硬件工具:1.数据卡,将导航仪上的数据卡取下来2.读卡器,能将数据卡插到电脑上更新软件工具:1.Arm4:用于获取2.gpsuu_diy3.Wince6.0模拟器4.新的地图和主程序

2014-02-06 16:16:59

查看更多

勋章 我的勋章
    暂无奖章