后端沉思录
码龄10年
关注
提问 私信
  • 博客:343,003
    社区:467
    问答:422
    343,892
    总访问量
  • 205
    原创
  • 740,555
    排名
  • 24
    粉丝
  • 0
    铁粉

个人简介:不断学习的小学生。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2014-10-16
博客简介:

diy_os的专栏

博客描述:
Stay Hungry. Stay Foolish.
查看详细资料
个人成就
  • 获得30次点赞
  • 内容获得34次评论
  • 获得79次收藏
创作历程
  • 1篇
    2021年
  • 7篇
    2020年
  • 18篇
    2019年
  • 25篇
    2018年
  • 6篇
    2017年
  • 35篇
    2016年
  • 114篇
    2015年
  • 4篇
    2014年
成就勋章
TA的专栏
  • 通用组件
    1篇
  • 【useful-scripts】
    5篇
  • 【工具】
    2篇
  • dubbo源码学习
    2篇
  • 【arthas】
    1篇
  • 设计模式
    11篇
  • spring源码学习
    2篇
  • springmvc源码学习
    1篇
  • 【Kibana】
  • 【Filebeat】
  • 【Logstash】
  • 【Elasticsearch】
    2篇
  • 【ORACLE/MYSQL】
    63篇
  • 【SQL/PLSQL】
    4篇
  • 【LINUX】
    3篇
  • 【JAVA】
    33篇
  • 【C/C++】
  • 【Android】
    21篇
  • 【恰少年】
    4篇
  • 【WINDOWS】
    2篇
  • 【算法数据结构】
    19篇
  • 【版本控制】
    1篇
  • 【Material Design】
  • 【PS AE PR】
    3篇
  • 【OOD】
    12篇
  • 【职场生涯】
    1篇
  • 【WEB】
    2篇
  • 【JAVAEE】
    1篇
  • 【Docker】
    3篇
  • 【rpc】
    2篇
  • 【spring】
    9篇
  • 【mybatis】
    2篇
  • 【springmvc】
    1篇
  • 【日志】
    1篇
  • 【python】
    5篇
  • 【redis】
    1篇
  • 【zookeeper】
    1篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

180人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

生产-消费模型组件实现 Producer Consumer Solution using BlockingQueue

原来各个应用某些业务节点的日志通过filebeat+elk收集,供各个业务方使用,线上发现filebeat消耗非常大的硬件资源,而且应用集群较大,每次新增日志类型时需要新增filebeat配置并启动新的应用进程,较为繁琐和耗服务器资源;优化成通过kafka收集日志,consumer消费并写入es,考虑到频繁的写入es会造成应用资源、网络开销的浪费,设计上为批量写入es。该应用场景比较通用,考虑把该生产-消费模型抽成组件放入公共模块。组件设计细节使用方自定义业务属性;使用方自定义写入阈值业务方实
原创
发布博客 2021.06.09 ·
228 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Metaspace内存不足导致FGC问题排查

事件回顾清楚的记得是2020/7/25 14:34分左右,周六的下午,我还在公司苦逼的加班中,突然钉钉告警群里出现大量应用OP的dubbo超时调用、空指针异常,异常中间还有Metaspace元空间不足等异常:o.a.c.f.l.ListenerContainer 98 [ERROR] Listener \(org.apache.curator.framework.recipes.cache.PathChildrenCache$3@7edb7fd5) threw an exceptionjava..
原创
发布博客 2020.08.31 ·
1518 阅读 ·
1 点赞 ·
1 评论 ·
5 收藏

dubbo_telnet自动化测试脚本

该脚本使用dubbo telnet方式(dubbo官网提供的dubbo python client目前只支持jsonrpc协议,目前环境不支持),可以根据该脚本实现dev、test环境的接口自动化、压力测试,根据具体需求填补脚本即可。#!/usr/bin/python# -*- coding:utf-8 -*-import jsonimport telnetlibimport unittestimport timeimport reclass Dubbo(telnetlib.Telnet
原创
发布博客 2020.05.28 ·
475 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

记录xpath解析html的一个坑

使用xpath解析表格时,个别td标签内容为空,导致解析出来的数组列数有问题,进而在写入csv文件时,数据错位。解决的办法用占位符填补空白:text.replace(r'<td style="white-space: pre-wrap;"></td>', '<td style="white-space: pre-wrap;">None</td>')https://lioswong.gith
原创
发布博客 2020.05.14 ·
689 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

解析html页面导出csv文件脚本

某些时候,需要从前端页面中批量获取数据,但是没有导出功能,可以通过脚本的方式处理即可。下面是一种情况,后端接口返回了html文件,但是该页面并不支持表格导出功能,如果需要获取数据,需要解析该html文件。根据实际情况灵活处理。#!/usr/bin/python# -*- coding:utf-8 -*-import jsonimport loggingimport mathimport timeimport reimport requestsimport sysimport csvfr
原创
发布博客 2020.05.10 ·
615 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

kafka producer python脚本

工作中会在开发环境中测试生产kafka消息,该脚本简单的实现了这一功能。#!/usr/bin/python# -*- coding:utf-8 -*-from pykafka import KafkaClientimport jsonimport logginglogging.basicConfig(level=logging.INFO)client = KafkaClient(hosts="102.2.20.31:15386") # 可接受多个Client,多个broker# pri
原创
发布博客 2020.05.10 ·
441 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

kafka consumer python脚本

工作中会在开发环境中测试消费其他系统的消息,该脚本简单的实现了这一功能。#!/usr/bin/python# -*- coding:utf-8 -*-from pykafka import KafkaClientimport jsonimport logging# logging.basicConfig(level=logging.INFO)client = KafkaClient(hosts="102.1.10.221:15386") # 可接受多个Client,多个broker#
原创
发布博客 2020.05.10 ·
386 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

生成海量csv文件数据脚本

工作中可能会用到海量的测试数据,可以通过脚本的方式简单快速处理,下面通过python生成海量的csv数据文件,具体的列可以根据需求定制。# -*- coding: utf-8 -*-import requestsimport sysimport reimport csvimport random'''从csv文件中读取数据'''def readCsv():# 读取csv至字典 csvFile = open("/Users/lioswong/LiosWong/sublimetext/
原创
发布博客 2020.05.10 ·
2762 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

charles踩坑记录

环境charles v 4.2.8MacBook Pro手机一加6问题描述使用charles抓手机上的包一直抓不到,手机上已经装了charles证书,而且重复装了很多次,还是不行解决[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QSCsn2eT-1573456737531)(https://note.youdao.com/yws/api/perso...
原创
发布博客 2019.11.11 ·
819 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

arthas简单使用

简介Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱,项目地址.当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但...
原创
发布博客 2019.10.15 ·
444 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Dubbo服务引入

关于Dubbo的SPI机制、服务暴露已有文章介绍,该文介绍Dubbo的服务引入.在Dubbo中,我们可以通过两种方式引用远程服务。第一种是使用服务直连的方式引用服务,第二种方式是基于注册中心进行引用.服务直连的方式仅适合在调试或测试服务的场景下使用,不适合在线上环境使用.因此,本文我将重点分析通过注册中心引用服务的过程.运行 demo-dubbo --》 dubbo-demo-api --》 d...
原创
发布博客 2019.10.06 ·
754 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Dubbo服务暴露过程解析

Dubbo SPI的暴露原理参考https://lioswong.github.io/2019/09/17/Dubbo-SPI%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86/,本文分析服务暴露过程,运行 demo-dubbo --》 dubbo-demo-api --》 dubbo-demo-api-provider 中 Application:public class...
原创
发布博客 2019.09.30 ·
3628 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Dubbo SPI实现原理

Dubbo 并未使用 Java 原生的 SPI 机制,而是对其进行了增强,使其能够更好的满足需求,在 Dubbo 中,SPI 是一个非常重要的模块。基于 SPI,我们可以很容易的对 Dubbo 进行拓展.本篇文章通过示例说明,先 download 代码,然后在 ``demo-dubbo --》 dubbo-demo-api --》 dubbo-demo-api-provider` 下新建类:@...
原创
发布博客 2019.09.17 ·
406 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CountDownLatch

CountDownLatch是java.util.concurrent包下的线程同步类,并发环境下线程对计数值减1操作,当计数值为0时,被wait阻塞的线程将被唤醒,达到线程同步.该类涉及到的主要方法:// 当前线程在计数值减到0之前一直等待,除非当前线程被中断void await()// 当前线程在计数值减到0之前一直等待,除非当前线程被中断或者超过了指定的等待时间boolean aw...
原创
发布博客 2019.08.12 ·
197 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

zookeeper入门

Apache ZooKeeper是Apache软件基金会的一个软件项目,他为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。 ZooKeeper曾经是Hadoop的一个子项目,但现在是一个独立的顶级项目。ZooKeeper的架构通过冗余服务实现高可用性。因此,如果第一次无应答,客户端就可以询问另一台ZooKeeper主机。ZooKeeper节点将它们的数据存储于一个分层的命名空间,非...
原创
发布博客 2019.04.21 ·
238 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

适配器模式

在设计模式中,适配器模式(英语:adapter pattern)有时候也称包装样式或者包装(wrapper)。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类能在一起工作,做法是将类自己的接口包裹在一个已存在的类中。–维基百科适配器模式包含如下角色:Target(目标抽象类)Adapter(适配器类)Adaptee(适配者类)Client(客户类)适配...
原创
发布博客 2019.03.15 ·
345 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

装饰者模式

修饰模式(装饰者模式),是面向对象编程领域中,一种动态地往一个类中添加新的行为的设计模式。就功能而言,修饰模式相比生成子类更为灵活,这样可以给某个对象而不是整个类添加一些功能。–维基百科装饰者UML类图(摘自维基百科):Component(基类)它是被装饰者和抽象装饰类的共同父类,声明了在具体构件中实现的业务方法,它的引入可以使客户端以一致的方式处理未被装饰的对象以及装饰之后的对象,实现...
原创
发布博客 2019.03.14 ·
290 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

观察者模式

观察者模式观察者模式是软件设计模式的一种。在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实时事件处理系统。–维基百科生活中,顾客(Customer)去商店购买电器,但是由于缺货,顾客留下手机号码,告知店主(Manager)有货时及时通知;即顾客(观察者)订阅了店主(被订阅者)的到货的服务,...
原创
发布博客 2019.03.12 ·
410 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

模版方法模式

定义模板方法模式定义了一个算法的步骤,并允许子类别为一个或多个步骤提供其实践方式。让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤.在软件工程中,它是一种软件设计模式,和C++模板没有关连.–维基百科案例首先看一个最常见的模版方法,Spring中的org.springframework.context.support.AbstractApplicationContext#refre...
原创
发布博客 2019.03.04 ·
212 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

策略模式

策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。–维基百科在项目中时常会用到策略模式的场景,比如业务中需要支付,但是有多个支付渠道,那如何对上层业务暴露"统一口径"(接口)呢,下面结合代码说明,首先定义支付接口:public interface P...
原创
发布博客 2019.03.03 ·
300 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多