- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 kafka producer开发指导
一般只需要配置3至4台的broker ,这样producer一旦连接到集群中的任一台,就能够那道整个集群的broker信息。
2023-06-05 18:07:01
226
原创 kafka启动的一些重要参数
如果在全局层面上,我们不好给出一个合适的最大消息值,那么不同业务部门能够自行设定这个 Topic 级别参数就显得非常必要了。首先kafka的conf文件夹中有好多个配置文件,而针对服务端的配置文件是server.properties。默认是 7 天,即该 Topic 只保存最近 7 天的消息。:topic的参数是在创建topic或者修改topic的时候用到。当topic与全局的参数冲突时,使用topic的参数。如果从能处理的消息大小这个角度来看的话,有一个参数是必须要设置的,即。
2023-06-05 18:02:15
193
原创 msgId与offsetMsgId区别与rocketmqConsole支持的坑
背景在测试环境的一台机子上启动了多个mq实例,某一天同事说投递到test环境的数据,可以在test4环境上查到,这让人有点担心,担心投递的数据会被别的消费。经过了解,同事提供相关的信息,投递到MQ时会返回msgid和offsetMsgId,返回如下:[sendStatus=SEND_OK,msgId=AC13043800067DAF6ECC4AA409590002,offsetMsgId=AC1232CB0000232B000000004BB9D206,messageQueue=Message...
2021-12-16 10:35:37
1724
原创 针对日志产生上报到es的实践
背景日志检索是在服务治理中用来快速定位错误的一个主要方式,在没有日志检索服务之前,都是需要通过获取相应的日志来进行排查定位。这是一个传统的方式。为了更快地提升排查效率,现在市场上出现了很多关于日志检索的框架,比较常见的是ELK的搭建方式。在这里面logStash是相对比较重的软件,目前针对日志,采用filebeat来替换采集。遇到问题因为elasticsearch是使用json格式来持久化文档,为了更好地控制日志检索的效果,我们需要特别的处理日志上报的json内容,同时也可以减少在fil
2021-09-28 17:50:21
1268
原创 rocketmq的instanceName参数何时该设置
以下只针对集群模式:1producer默认情况下不需要设置instanceName,rocketmq会使用ip@pid(pid代表jvm名字)作为唯一标示如果同一个jvm中,不同的producer需要往不同的rocketmq集群发送消息,需要设置不同的instanceName原因如下:如果不设置instanceName,那么会使用ip@pid作为producer唯一标识,那么会导致多个producer内部只有一个MQClientInstance(与mq交互)实例,从而导致只往一个集群发消息.
2021-05-22 17:26:07
439
原创 rocketmq broker启动与分析点
broker初始化createBrokerController()首先介绍createBrokerController()方法BrokerStartup.createBrokerController()这里面进行一些启动前参数的设置,其中留意一个从节点的交互,默认为broker端口+1构造BrokerController在createBrokerController()最后 增加钩子方法,在关闭jvm的时候,针对controller执行shutdown()方法针对标红的brokerCont
2020-10-27 21:13:10
727
原创 rocketmq 自动创建topic源码分析
默认情况下,topic不用手动创建,当producer进行消息发送时,会从nameserver拉取topic的路由信息,如果topic的路由信息不存在,那么会默认拉取broker启动时默认创建好名为“TBW102”的Topic。TBW102这个topic在自动创建队列中比较重要,开启自动创建topic的时候,会参照这个topic的创建配置创建,假如这个topic不存在,会无法创建。TBW102 这个又是在哪里完成创建?这个会在broker启动时,随着会带上 topicConfigWrapper,这里面会
2020-10-27 11:43:02
975
原创 RocketMQ os.sh 参数优化讲解
RocketMQ在消息读写上的处理是其性能的关键,重度依赖底层操作系统的特性。os.sh中提供了一组默认的操作系统参数配置,这里一条条来分析下。命令sudo sysctl -w vm.extra_free_kbytes=2000000这个参数应该也是用来控制空闲内存大小的。但是很多发行版没有这个参数,一般根据部署环境看是否支持,不支持的话不进行设置应该也没关系。sudo sysctl -w vm.min_free_kbytes=1000000设置系统需要保留的最小内存大小。当系统内存小于
2020-10-27 11:38:40
849
原创 rocketmq故障排查
rocketmq排查队列分配的消费者情况rocketmq生产者报连接超时正常的rocketmq是启动在本地,但是在投递消息到本地生产者时经常会报超时。这个时候就要检查对应的配置,这里定位到的是连接的broker的IP不是本机的IP.观察启动的broker日志这个IP 主要来自broker的配置文件brokerIP1=192.168.0.105这个值通过查看本地的网卡,然后根据自己的实际地址进行更改配置文件,重启broker即可rocketmq投递到MQ 但是消费不了查看对应的消费者,发现
2020-10-27 11:34:28
2110
原创 rocketmq特性
消息顺序消息有序指的是一类消息消费时,能按照发送的顺序来消费。例如:一个订单产生了三条消息分别是订单创建、订单付款、订单完成。消费时要按照这个顺序消费才能有意义,但是同时订单之间是可以并行消费的。RocketMQ可以严格的保证消息有序。顺序消息分为全局顺序消息与分区顺序消息,全局顺序是指某个Topic下的所有消息都要保证顺序;部分顺序消息只要保证每一组消息被顺序消费即可。全局顺序 对于指定的一个 Topic,所有消息按照严格的先入先出(FIFO)的顺序进行发布和消费。 适用场景:性能要求不高,所
2020-10-27 11:24:50
121
原创 linux 传输大文件进行分割的 在windows上合并
先写方法Linux:[hcon01:/home1/jinxing] ls -alh dump.sql.gz -rw-r--r-- 1 jinxing other 1.6G 2014-11-0518:43 dump.sql.gz [hcon01:/home1/jinxing] split -b 500m dump.sql.gz dump.sql.gz_ [hcon01:/home1/jinxing] ll -alh dump.sql* -rw-r--r-- 1 jinxing other.
2020-05-16 23:36:05
831
原创 java排查CPU高步骤
查看高消耗资源的线程1、输入top命令 查看是java进程占的资源最高top查看到PID 21306进程的CPU占用最高2、可以使用ps -Lfp pid或者ps -mp pid -o THREAD, tid, time或者top -Hp pid,我这里用第三个top -Hp 21306TIME列就是各个Java线程耗费的CPU时间,CPU时间最长的是线程ID为21553的线程,用3、printf"%x\n"21412 转16进制53a44、下一...
2020-05-16 23:32:16
353
原创 safe-rm 安装
1、safe-rm的安装包在software/safe-rm-0.12.tar.gz2、解压safe-rm-0.12.tar.gz最好放到usr/local中3、把解压文件夹中的safe-rm可执行文件,拷贝到/usr/local/bin中4、建立软连接指向safe-rm 软连接为rm5、vi /etc/safe-rm.conf禁止删除的文件夹在这里配置,这里配置的是系统的常用文件夹//boot/etc/lost+found/misc/net.
2020-05-16 23:27:41
492
原创 hbase put 源码分析
get/delete/put/append/increment等等客户可用的函数都在客户端的HTable.java文件HTable通过在connection调用getTable获得,其实是调用HTable的构造方法创建一个HTable对象HTable有几个属性要注意:this.pool = pool; 线程池this.rpcCallerFactory = rpcCallerFactory;this.rpcControllerFactory = rpcControllerFactory;
2020-05-16 23:24:35
368
1
原创 被人肉机排查步骤
之前机子被人攻击用来挖矿,究其原因,是因为系统用户的密码设置过于简单,导致被人盗取并挟持。现在讲下怎么解决。1、输入top指令。查看占用内存或者CPU较大的进程是哪个。并且可以看到是使用哪个用户启动的。在这里查看到是利用mysql用户启动进程,进程ID是297952、利用lsof指令,查看该进程究竟打开了哪些文件记录打开的文件中,异常的目录及文件3、Netstat -anp |grep 进程号 查找对外通讯的端口4、查找musql用户的定时任务Contrab -u my.
2020-05-16 23:09:47
403
原创 架构学习笔记
高性能负载均衡地理级的负载均衡【跨城,跨机房】:DNS负载均衡;集群的硬件负载均衡【机房内】:F5或者Array集群的软件负载均衡【机房内】:nginx 和LVS硬件和软件负载均衡的主要区别在于性能,硬件负载均衡性能远远高于软件负载均衡。nginx的TPS大概是5WLVS的TPS大概是10WF5的TPS是百万负载均衡算法建议采用轮询或者加权轮询,不需要考虑负载。除非有特殊要求针对异地双中心的数据处理方式同步+访问方式机房间的数据采用一种同步方式,如存储系统同步
2020-05-16 23:04:02
201
原创 rocketmq原生性能测试
rocketmq本身提供了一个关于rocketmq性能测试的工具。在rocketmq的文件包的benchwork中。利用该包中的脚本可以快速的进行相关的rocketmq的性能测试。主要利用的是以下的脚本。这里简单地以producer压测为例。默认的压测是64个线程,持续发128个字节的消息。sh producer.sh -n 172.16.22.67:9876;172.16.22.66:9876执行结果如下:特别说明这里做压测,会有一条进程一直占...
2020-05-16 22:57:52
1291
2
原创 MYSQL级联条件删除数据
有时候,删除一张表的数据需要根据另外一张表数据为依据来删除表中的数据。以下就以几种方式来实现该功能。以下语句在mysql数据库下验证:第一种方式:delete ufi from user_finger_info ufi ,user_info ui where ufi.userid=ui.id and ui.id=32;第二种方式:delete ufi from
2016-03-30 14:17:30
627
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人