- 博客(228)
- 资源 (8)
- 收藏
- 关注
原创 自研redis sdk支持自动dns切换(附源码)
之前做活动的时候,用域名链接的redis,当时做了主备集群,在主集群宕机的时候,不能自动链接到备用集群...
2022-03-11 20:41:10
4359
3
原创 某音数据分析
大家好,我是烤鸭: 某音竟然有pc版了,不过搜索的数据有限,会限制条数,亲测只能搜索400条数据,简单分析下过程。工具使用java + chromedriver + fiddlerjava + selenium 自动化网页,需要登录,可以登录一次共享cookie@Testpublic void testXyin() { String keyWord = "旅游"; try { // 调用chrome driver System
2022-03-02 20:45:06
953
原创 windows docker redis 集群部署
大家好,我是烤鸭: 上次分享了windows docker redis,这么快就不够用了,单机的不行,整个集群的,看了网上的教程都好麻烦,简单点。单机的:https://blog.csdn.net/Angry_Mills/article/details/122832374下载redis镜像参考单机的:docker pull redis本地目录和配置文件启动挂载的目录建目录和配置文件,比如打算部署3主节点的集群redis.conf,端口写是对应的目录 6001 - 6003po
2022-02-25 19:35:24
3091
2
原创 《redis 设计与实现》读书笔记
大家好,我是烤鸭: 《redis 设计与实现》,读书笔记。第一部分 数据结构与对象第2章 简单动态字符串Redis 使用SDS 作为字符串表示。O(1) 复杂度获取字符串长度。杜绝缓冲区溢出。减少修改字符串长度时所需的内存重分配次数。二进制安全。兼容部分C字符串函数。第3章 链表每个链表节点由一个listNode结构标识,每个节点都有一个指向前置接点和后置节点的指针,实现是双端链表。每个链表用list结构标识,结构带有表头节点指针、表尾节
2022-02-22 06:58:16
474
原创 模拟微信自动化发送(微信公众号文章自动点击)
大家好,我是烤鸭: 最近在搞数据抓取,发现之前的方式不太行了,分享个新方式,仅技术分享。需要的工具Java(jdk1.8)FiddlerPython(3.8)抓取列表信息设置一下过滤域名,*.weixin.qq.com;点公众号列表,获取到的列表地址:https://mp.weixin.qq.com/mp/profile_ext?action=getmsg&__biz=MzA3NTAyNDcxNw==&f=json&o
2022-02-19 06:22:31
2864
原创 windows docker redis
大家好,我是烤鸭: docker真的太方便了,尤其是对windows系统,友好的不得了。以前还只能是正版的专业版才能用,现在已经没有限制了,虽然加了收费,个人用免费就够了。redis 新版也不支持windows系统,想搞测试的话docker正好补缺。docker安装官网下载安装,再注册个账号(非必须)。https://www.docker.com/products/docker-desktop安装完这样,关于一些报错,百度下就行。redis 镜像
2022-02-09 08:15:00
2366
2
原创 《实现领域驱动设计》读书笔记
大家好,我是烤鸭: 《实现领域驱动设计》,读书笔记,贴个封面,要不不知道是哪本。了解概念刚开始接触DDD,肯定懵逼,很多名词,一点点看下。领域:带有业务属性的范围,比如搞直播业务,那直播就是一个领域。领域里又分核心域和子域。可以看个电商系统的领域图。限界上下文:用于承接不同子域。上下文映射图:限界上下文关系图。六边形架构:又称端口适配器,水平的分层架构,牺牲一部分性能,更好的防止逻辑层外漏。CQRS:Command Query Respon
2022-02-04 10:03:42
794
原创 windows10 C盘清理
大家好,我是烤鸭: 身为一个号称修电脑的,磁盘清理是必备技能了。前几天刚出的新闻 男子帮女友清理电脑C盘,扫出17万个文件。想必大家都经历过清理C盘的痛苦,这两天正好又清了,分享下。先给个结论,多次满载过的C盘,100G 释放了7G,这次主要靠三方软件和更改了企业微信和QQ的目录。自带程序C盘右键——> 属性——>磁盘清理(还可以点击清理系统文件)windows 设置——> 系统——>存储,重点看一下文档、下载、图片这些,
2022-02-02 20:50:42
1928
原创 nacos注册中心自动上下负载
大家好,我是烤鸭: 还有2天就过年了,祝大家新年快乐。最近好久没写技术文章了,还是得回归下主业,今天分享下nacos注册中心自动上下负载的方式和组件。组件版本 <properties> <java.version>1.8</java.version> <springboot.version>2.2.6.RELEASE</springboot.version> <spring
2022-01-29 16:39:53
1146
原创 记一次线上服务假死排查过程
大家好,我是烤鸭: 最近线上问题有点多啊,分享一个服务假死的排查过程。问题描述9点10分,收到进程无响应报警(一共6台机器,有1台出现),后来又有1台出现。排查思路首先确认是否误报或者网络抖动,登陆服务器查看进程存在。查看cat监控,发现gc次数和gc耗时都升高,基本确认是oom导致的。当时由于优先处理问题,服务重启后,没办法找到oom源头了(进程命令包含oom记录,但是没生成oom日志)。-XX:+HeapDumpOnOutOfM
2022-01-12 08:15:00
823
原创 记一次线上cpu飙升100%的排查过程
大家好,我是烤鸭: 最近没怎么写技术文章,还是得回归下初心,正好前几天出现个线上问题,记录下排查过程。问题描述某个时间点,接收到接口响应慢报警。过一会收到服务器cpu可用率低(<10%)报警。去cat上查看发现younggc次数频繁。排查思路业务代码近期没改动和发版,出现问题大概率是中间件或者环境问题(服务器硬件或网络)。尝试回滚代码和扩容机器。输出堆栈日志和gc快照,调整jvm参数。排查结果中间件和网络:使用到的中间件包
2022-01-10 08:15:00
752
原创 《Java并发编程实践-第一部分》-读书笔记
大家好,我是烤鸭:《Java并发编程实战-第一部分》-读书笔记。第一章:介绍1.1 并发历史:多个程序在各自的进程中执行,由系统分配资源,如:内存、文件句柄、安全证书。进程间通信方式:Socket、信号处理(Signal Handlers)、共享内存(Shared Memory)、信号量(Semaphores)和文件。促进因素:资源利用:等待的时候,其他程序运行会提高效率。公平:多个用户或程序可能对系统资源有平等的优先级别。方便:多个程序各自执行单独的任务比一个程序执行多个任务方便调度和协
2021-11-17 11:00:00
292
原创 从线上慢sql看explain关键字
大家好,我是烤鸭:最近有点忙的头晕,又懒又累,正好线上遇到慢sql的问题,就说下 MySQL Explain 关键字的解析和使用示例。explain 关键字说明使用explain关键字可以模拟优化器执行sql查询语句,从而得知MySQL 是如何处理sql语句。±—±------------±------±-----------±-----±--------------±----±--------±-----±-----±---------±------+| id | select_type |
2021-11-07 22:20:27
905
原创 《自律100天,穿越人生盲点》读书笔记
大家好,我是烤鸭: 《自律100天,穿越人生盲点》,读书笔记。第一章 “自律100天”的华丽开启第一节 “自律100天”的底层逻辑习惯没办法用金钱换,只能用时间。训练延迟满足(增强自控、培养耐心、减少短期诱惑、树立长期目标)。成为"理性乐观派"。心理对照(先想好处,再想遇到的障碍)。执行意图(提前演练所有可能性)。WOOP思维(Wish 愿望、Outcome 结果、Obstacle 障碍、Plan 计划)第二节 “自律100天”的两个方法做
2021-10-17 10:59:47
972
原创 rocketmq 初探(五)
大家好,我是烤鸭: 上一篇简单介绍部分 NettyRequestProcessor (AdminBrokerProcessor、ClientManageProcessor、ConsumerManageProcessor、EndTransactionProcessor),这一篇介绍其他的。PullMessageProcessor、QueryMessageProcessor、ReplyMessageProcessor、SendMessageProcessorN
2021-10-11 09:25:49
392
原创 rocketmq 初探(四)
大家好,我是烤鸭: 上一篇简单介绍broker的初始化,这一篇介绍 NettyRequestProcessor 的实现(主要是broker里用到的)。AdminBrokerProcessor、ClientManageProcessor、ConsumerManageProcessor、EndTransactionProcessorNettyRequestProcessor/** * Common remoting command processor *
2021-09-25 20:53:10
253
原创 rocketmq 初探(三)
大家好,我是烤鸭: 上一篇介绍了注册中心,这一篇看下broker。基于 rocketmq 4.9 版本。BrokerStartup#BrokerController按照代码的先后顺序撸源码:BrokerController.createBrokerControllerpublic static BrokerController createBrokerController(String[] args) { // ... try {
2021-09-12 20:34:22
412
原创 rocketmq 初探(二)
大家好,我是烤鸭: 上一篇简单介绍和rocketmq,这一篇看下源码之注册中心。namesrv先看两个初始化方法NamesrvController.initialize() 和 NettyRemotingServer.start();public boolean initialize() { // 加载配置文件 this.kvConfigManager.load(); // 创建 NettyRemotingServer 并初始化参数
2021-09-05 19:24:15
315
原创 基于nchan打造百万用户的聊天室
大家好,我是烤鸭: 这次介绍下nchan,nginx的一个module。nchan源码: https://github.com/slact/nchan官网: https://nchan.io/nginx 配置说明文档: https://nchan.io/documents/nginxconf2016-slides.pdf测试环境搭建4 台linux centos 7,都安装了nginx和nchan。安装可以参考下这篇文章。https://www.cnblo
2021-09-02 19:22:07
2834
7
原创 rocketmq 初探(一)
大家好,我是烤鸭: 今天看下rocketmq。这篇主要是简单介绍下 rocketmq以及idea 本地调试 rocketmq。项目架构感兴趣的可以下载源码看下。https://github.com/apache/rocketmq项目结构图。rocketmq-acl: acl 秘钥方式的鉴权,用在broker端。rocketmq-broker:整个mq的核心,他能够接受producer和consumer的请求,并调用store层服务对消息进行处理。
2021-08-27 19:20:30
604
1
原创 Gateway Sentinel 做网关降级/流控,转发header和cookie
大家好,我是烤鸭: Springcloud Gateway 使用 Sentinel 流量控制。环境springcloud-gateway的网关应用,springboot的服务,nacos作为注册中心sentinel-dashboard-1.8.2最新版下载地址:https://github.com/alibaba/Sentinel/releases目标在网关层根据qps对指定路由降级到其他接口。sentinel 接入的官方wiki:https://git
2021-08-23 09:29:14
1742
原创 PMP 学习总结
大家好,我是烤鸭: PMP终于考过了。成绩出了一个月了,一直想写一篇总结但没下笔,主要原因最近有点忙(太懒了)。考试的内容是基于第6版的。晒个证书证书上没写等级,一般都宣称5A过(其实我是 4A1T过的)。学习过程最开始报班的时候说的是每天2个小时,3个月差不多能过。大概上了7、8次课(线上)。就按照班主任给设置的节奏学习就行,能跟上就问题不大。开课之前的章节预习、做笔记啥的,开课之后就再理解下知识点。每天听听ITTO和做做每日打卡练习。因为疫情的影响,北
2021-08-15 18:43:41
281
原创 redisson 大量ping操作,导致 tps过高
大家好,我是烤鸭: 这个问题有点奇怪,新服务上线,redis tps居高不下,还都是ping命令。环境:服务 : 280台,redis集群:12主24从问题由于服务刚上线,还没有访问,发现ping命令的qps 7K,就很纳闷。运维帮忙看了下,确认这些命令的发起ip是业务服务。问题排查项目中用到了 lettuce和redisson,在测试环境测试,尝试把redisson去掉后,没有大量ping了。加上之后,又有了,频率大概是 每分钟 26次。
2021-08-12 19:49:51
6805
2
原创 zuul 1.x 和gateway性能对比
大家好,我是烤鸭: 今天分享下 zuul和gateway 网关压测。环境:windows 10jdk 8压测工具:wrkjmeter数据对比场景是仅单独转发,接口 Thread.sleep(50)jmeter 12 线程,30szuul:gateway:用jmeter 压测完发现两种网关性能差不多,本来以为 sc gateway 用netty 性能应该更好才对。考虑到有可能是使用姿势有问题, 毕竟官方说性能提升50%。官方对比的
2021-08-09 19:21:04
1048
原创 lettuce 配置域名 dns 切换
大家好,我是烤鸭: 如果你也有类似的困扰,运维告诉你,redis连接配置域名,这样出问题了,直接改dns地址就行,不需要重启服务。。。梦想是美好的,现实是残酷的。如果你使用的是 lettuce连接池,那么恭喜你,必须重启服务才能生效。测试一下环境: <parent> <groupId>org.springframework.boot</groupId> <arti
2021-07-29 19:33:14
1453
2
原创 FutureTask isDone 返回 false
大家好,我是烤鸭: 今天看一下 FutureTask源码。好吧,其实遇到问题了,哪里不会点哪里。伪代码package src.executor;import org.springframework.scheduling.annotation.AsyncResult;import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import java.util.c
2021-07-07 20:15:41
1525
3
原创 nginx 配置 http/2(h2) 和 http 在同一端口的问题
nginx 配置 http/2(h2) 和 http 在同一端口的问题大家好,我是烤鸭: 这个完全是个采坑记录了。场景说明由于这边有个需求想加个支持 grpc 方式转发的域名。正常的二级域名都是映射到80端口,所以也没想太多,按照这个方式加上了。# 已有的配置server { listen 80; server_name yyy.xx.com; # access_log logs/access.log main; location /
2021-06-28 20:25:04
3825
4
原创 skywalking oap-server 域名配置
大家好,我是烤鸭: 由于skywalking 的 -Dskywalking.collector.backend_service 的后端服务过多,想通过配置域名的方式简化上报端agent配置,也更灵活。报错了,先看代码报错信息:org.apache.skywalking.apm.dependencies.io.grpc.StatusRuntimeException: INTERNAL: http2 exceptionat org.apache.s
2021-06-28 20:24:38
3286
原创 PMP 错题记录
PMP 错题记录大家好,我是烤鸭: 这次的PMP错题集本来想考前发,临时能看看,还是耽搁了,补发一下吧,不知道以后用不用的上,据说改版了,可能也用不上了。变更题错题记录9、一项批准的项目变更将需要一名 IT 部门的专用资源。该资源的经理没有空提供批准,但马上需要该资源以确保项目保持进度。项目经理应该怎么做?A. 将新工作分配给现有团队成员。B. 寻求项目发起人的指导。C. 告诉该资源开始工作,并在经理有空时获得批准。D. 查阅变更管理计划。解
2021-06-25 06:30:59
5091
1
原创 《少有人走的路——心智成熟的旅程》读书笔记
大家好,我是烤鸭: 《少有人走的路——心智成熟的旅程》,读书笔记。第一部分 自律规避问题和逃避痛苦的趋向,是人类心理疾病的根源。(正视自己是最重要的)自律可以消除人的痛苦:延迟满足、承担责任、尊重事实、保持平衡。(说起来容易,做起来难)父母应该教会孩子自尊自爱,承认自我价值的重要性。(以身作则很重要)尽可能早的面对出现的问题,放弃暂时的安逸和程度较轻的痛苦,将来会得到更大的满足(五条人:问题出现我再告诉大家)"人格神经官能症"在某些问题承担责任,而
2021-05-17 09:43:17
539
1
原创 idea 插件开发 扫描sqlserver
大家好,我是烤鸭: 最近在搞sqlserver 升级 mysql/tidb,发现代码里的sql有很多地方需要改,想着能不能开发一个省点力。官方的迁移指南: https://www.mysql.com/why-mysql/white-papers/sql-server-to-mysql-zh/方案选择最开始想的是在sql拦截器做个拦截,判断标识是否开启转换,把对应的sqlserver 的sql转换后mysql的。技术上可以实现,开发成本高,需要对sqls
2021-04-19 22:01:23
995
原创 saltstack部署java应用失败无日志——CICD 部署
大家好,我是烤鸭: 最近在搞公司的CICD,遇到各种问题。复盘总结一下。CICD 架构这篇文章写得很详细,可以看一下 https://linux.cn/article-9926-1.html而这里只是结合现在的情况分析下:CI 持续集成(Continuous Integration)持续交付的目标是拥有一个可随时部署到生产环境的代码库。CD 持续交付(Continuous Delivery)、持续部署(Continuous Deployment)作为持续交付——自动将生产就绪型
2021-04-04 21:08:18
366
2
原创 java 调用linux 脚本并获取返回值
大家好,我是烤鸭: 今天分享下java 调用 shell脚本 并获取返回值。代码实践String cmd = "df -h";StringBuffer sb = new StringBuffer();Process process = Runtime.getRuntime().exec(cmd);BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputS
2021-03-25 22:59:47
1118
1
原创 jenkins发布docker项目 harbor
大家好,我是烤鸭: jenkins 部署k8s 项目还是比较流畅的,本身建立多流水线项目,在项目中添加jenkinsfile就好了,镜像需要额外的参数,还可以添加dokcerfile文件。由于我现在的问题是不能够修改原有的项目,还想利用项目中的Dockerfile打包后发布到私服仓库(Harbor)中。构建普通maven项目这种构建有个劣势就是只能单分支的。docker 安装yum install dockerdocker -v []: Docker version 19.03.4
2021-03-18 19:07:20
448
原创 springcloud gateway 自定义 accesslog elk
大家好,我是烤鸭: 最近用 springcloud gateway 时,想使用类似 logback-access的功能,用来做数据统计和图表绘制等等,发现没有类似的功能,只能自己开发了。环境: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter</artif
2021-03-10 06:47:07
1534
2
原创 nacos配置刷新失败导致的cpu上升和频繁重启,nacos配置中心源码解析
大家好,我是烤鸭:nacos 版本 1.3.2,先说下结论,频繁重启的原因确实没有找到,跟nacos有关,日志没有保留多少,只能从源码找下头绪(出问题的版本 server用的是 nacos 1.1,nacos-client 1.0)nacos 拉取配置原理有两个核心的类 ClientWorker 和 ServerHttpAgent,先从头捋一下。NacosConfigBootstrapConfiguration 初始化 NacosConfigManager@Bean@ConditionalOn
2021-02-28 14:36:55
2813
2
原创 Zuul 1.x 升级 springcloud gateway 2.x 遇到的一点问题
Zuul 1.x 升级 springcloud gateway 2.x 遇到的一点问题大家好,我是烤鸭:今天分享 Zuul 1.x 升级 springcloud gateway 2.x 遇到的一点问题。介绍zuul 和springcloud gateway 都是比较优秀的网关,而 zuul 1.x 采用的是 servlet 模型,gate 采用的是 reactor模型,效率和资源上 gateway 要优秀一些。zuul 和 springcloud 在 filter 架构上类似,都提供了基类 Zuu
2021-02-20 19:09:00
1240
智能体平台dify-1.13版本的sql表结构
2025-09-11
ta-lib依赖,windows-64位
2023-12-07
springboot 2.x websocket整合
2018-11-13
jqweui的picker插件动态加载数据
2017-12-22
JAVA实现类似美团电影价格图片数识别
2017-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人