自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(506)
  • 资源 (1)
  • 收藏
  • 关注

原创 scrapy_redis百度人物爬虫

八字命令做了不少改造,最后发现还有需要大量的案例,有些条文总是太模糊,而没有权威解释,你很难相信他们所有的信手拈来的“想象力”。1 scrapy_redisScrapy-redis分布式+Scrapy-redis实战pip install scrapy_redis -i https://pypi.tuna.tsinghua.edu.cn/simple使用scrapy_redis,获取百度人物的链接,代码很简单,就是从文件中按行读取名称,写入到redis中# -*- coding: utf-8

2021-08-11 20:12:55 182

原创 DV EV OV证书

很多年前一直想给自己做的产品加上CA证书,之前CA证书需要经过浏览器认证,自签名的证书浏览器还会给出警告。直到19年的时候因为微信小程序必须要证书,才接触到DV证书。21年当我再次想到是否需要该买证书的时候,我又想到了DV证书,在阿里上可以免费购买证书,通过配置nginx,验证是否可行呢,结果是ok的。过年的夙愿终于得以实现,而且还没有花钱。server { listen 80; server_name www.dzmsoft.com; return 3

2021-08-11 20:11:38 286

原创 netty

不得不说尼恩编著的《Netty、redis、zookeeper高并发实战》写的非常好,让我明白IO是怎么回事1 高并发IO主要的IO模型有四种,同步阻塞IO,同步非阻塞IO,IO多路复用、异步IO,这里记录一下理解的内容。1.1 同步阻塞IO与同步非阻塞IOjava所有的socket连接的IO操作默认都是同步阻塞IO,因为在阻塞等待数据期间,用户线程挂起,故而在阻塞期间基本不会占用CPU资源,虽然这是个优点,但是在高并发情况下,就需要大量的线程来维护这些连接,又将涉及内存、线程切换的开销。而同步非

2021-08-01 12:06:43 137

原创 springboot自定义SPI服务发现

命理里面有很多二元论的东西,直接写程序,哪些规则多容易错,原本想用easyrule,但是适用场景还是不行,一个280项的判断,最好还是用决策表来做,于是搜到了 hongwen1993 / fast-drools-spring-boot-starter, 想当初安排自己一个手下保障 基础框架,我怎么没想到用start的方式呢?看来那个时候对springboot还是不熟悉,这里感谢这位作者,让我对这件事情有了兴趣,同时决定修改一下他的代码,提升一下性能。...

2021-08-01 12:05:48 321

原创 数据通信与计算机网络

设计分布式系统,就不得不仔细了解一下数据通信与计算网络,目的有两个:一、分布式带来了系统的复杂性,导致排查问题难度提升,即使采用skywalking之类的分布式链路追踪,但是网络都不能通,啥都是白搭。二、性能问题,什么情况采用什么通讯协议,才能针对不同的业务场景设计拥有良好的系统,不正式架构师追求的吗。1 开放系统互联参考模型1.1 网络设备1.1.1 路由器gateway为网关地址,也就是下一跳,[root@master1 ~]# route -nKernel IP routing table

2021-08-01 12:04:51 519

原创 feign与dubbo

1 feign1.1 原理Feign远程调用原理,这篇文章写得比较好。1.2 优化策略既然feign的通讯协议是http的,那么http的优化策略同样适用于feign常规配置如下feign: hystrix: enabled: true client: config: default: connectTimeout: 10000 readTimeout: 10000gzip压缩数据传输需要时间,gzip压缩可以减少微服

2021-08-01 11:54:25 3264

原创 kubeadm中添加k8s节点问题

从下方可以看到3个地方出了问题etcd-master1、kube-apiserver-master1、kube-flannel-ds-42z5p[root@master3 ~]# kubectl get pods -n kube-system -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED

2021-07-23 17:12:47 2268 1

原创 docker镜像大小问题

** 1 从jdk入手 **java依赖glibc,而alpine linux发行版本的优势在于容量超小,Alpine而生产环境只需要jre就可以,因为jre是java的运行环境,并不需要jdk,因为jdk是java开发工具包,jre-8u181-linux-x64.tar.gz是压缩后的,预计78Mwindows解压之后207M# 基础镜像FROM frolvlad/alpine-glibc# 作者MAINTAINER dzm# 安装jreADD jre-8u181-linux-x6

2021-07-23 17:09:13 1102 1

原创 docker搭建nexus

参考Docker 环境下搭建nexus私服# 移除已有版本sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \

2021-07-12 19:18:17 710 1

原创 ambari关闭kerberos

Ambari+HDP集群关闭kerberos认证后遇到的问题先关闭kerberos。有一台机器关掉有问题,Traceback (most recent call last): File "/var/lib/ambari-agent/cache/stacks/HDP/3.0/services/SPARK2/package/scripts/job_history_server.py", line 102, in <module> JobHistoryServer().execut

2021-07-09 20:20:57 1242 2

原创 java8 stream操作总结

昨天看到java9 支持 reactive stream,但是java被oracle收购之后,我为什么一定要用reactive stream呢,掌握java8 stream感觉跟python中pandas、numpy一样高效的操作数据集。1 类型转换这里使用到map转,非常简洁,你只需要明白函数式编程,输入到输出,就容易理解了 List<Integer> currencys = Stream.of(accAccountSubject.getAssistAccounting().split(

2021-05-29 20:14:57 199

原创 SaaS中分布式缓存使用

美团的技术还是不错的,可以看看缓存那些事1 ehcachehibernate的时代就开始使用ehcache,Ehcache的超时设置主要是针对整个cache实例设置整体的超时策略,而没有较好的处理针对单独的key的个性的超时设置(有策略设置,但是比较复杂,就不描述了),因此,在使用中要注意过期失效的缓存元素无法被GC回收,时间越长缓存越多,内存占用也就越大,内存泄露的概率也越大。2 guava cacheCaffeine与Guava对比4 二级缓存二级缓存设计基本有个共识,一级本地缓存,内存级访

2021-05-15 14:46:00 341 1

原创 springfox swagger接口

现在的技术发展还是很迅猛,子曰:“志于道,据于德,依于仁,游于艺”,既然当年弃工程力学转向软件这个行业,就需要“游”于各种技术之中,虽然年长了,但还是应该熟悉这些新兴的技术,“自古美女如良将,不许人家到白头”,技术人员及时走到管理岗位又怎么样,庞统一天治理一个县城,那是基本功,这些基本功怎么能因为你到了管理岗位就可以不学呢?当年从北京回武汉,在公司接触了CMMI5,明白应该按照规范的流程做事情,因为那个是最佳实践的沉淀,接口文档用word写的很清楚,通讯协议、入参、出参、加密方式、签名方式、调用时序图都要

2021-05-09 10:53:23 2641

原创 SaaS应用分库分表笔记

子曰:“盖有不知而作之者,我无是也。多闻,择其善者而从之,多见而识之,知之次也。”经常让手下做事情,下属很快搞出一个设计方案,一问原来这个方案是他自己想出来的。你能说他方案设计的不行吗,那不是打击他的积极性吗,他确实做了些事情,但并没有用心。这就是孔子所讲的“不知而作之”,做事情并不是都是自己创造,特别是我们这些搞计算机的,我不是电信、BAT、金蝶、用友等,我们想到的很多人都已经有过实践了,自己设计的方案或许是对的,终将只是停留在“见山是山”的层面,没有经过横向对比,选取最佳实践,也就是“多闻,择其善者而从

2021-05-03 21:37:48 1172 2

原创 性能调优手段笔记

这里还是陈志勇、马利伟、万龙著的《全栈性能测试修炼宝典》,性能手段只是从方法论出手,故而大致可分为空间换时间:内存、缓存是典型的空间换时间的例子时间换空间:当空间成为瓶颈,切分数据分批次处理,用更少的空间完成任务处理。上传大附件采取的方式。分而治之:微服务就是,将任务切分,提高并行执行提高效率。异步处理:减少阻塞,采用消息队列MQ或者NIO并行:多线程或进程同时处理。离用户近一点:CDN等前端优化。业务模块化、服务化、良好的水平扩展能力:分布式集群。...

2021-05-01 21:03:44 81

原创 SaaS架构设计笔记

叶伟著的《互联网时代的软件革命SaaS架构设计》,文中提到了2007年初Alisoft,吹嘘唯一使命是发展中国的SaaS软件,口号喊的太大,导致2010年阿里软件互联平台终止服务,服务是针对行业的,行业对SaaS的认可度总要一个过程,风口也是一时,谁能预料呢,或许alisoft做的有些超前,等不到SaaS盛行就倒闭了。而技术架构却值得借鉴。1 成熟度模型ASP要么像金蝶KIS或者管家婆之类单机版程序,一开始的时候需要地推人员一个个支持,还需要配备N多IT人员,维护不同版本,到了产品生命周期不想维护,便宜

2021-05-01 09:12:46 615 6

原创 spring中使用rabbitmq

2017年以前采用的spring xml配置的方式,这里先回忆一下,现在采用yaml方式,<!--rabbitmq依赖 --><dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</artifactId> <version>2.0.1.RELEASE</version></depend

2021-04-10 19:07:33 954 1

原创 rancher

1、docker安装2、rancher自定义集群3、rancher安装kubectl

2021-04-10 11:14:47 960

原创 性能测试

不得不佩服西方软件项目管理对性能测试的工作分解的细致程度,相比看到我手下对性能测试的评估,感觉差了不是一丁点,到了我这个年龄,管理一个部门,没必要非要自己会jmeter,学了也是浪费时间,但是测试方法论还是值得思考深究一下。1 测试执行基准测试:一方面验证自己的测试脚本有没有问题,另一方面得到一个性能基准。如果1个用户,RT时间都很长,那么还有必要继续吗?如果一个用户性能ok,那么多少用户性能将有较大的变化呢,这个阶段的测试就有了标准了。《全栈性能测试修炼宝典》建议执行3三次。配置测试:这个阶

2021-04-07 21:27:18 155

原创 性能优化CPU

Charlie Hunt、Binu John著《JAVA性能优化权威指南》,提到现代操作系统自带的CPU使用率监控工具只能报告CPU使用率,没有CPU指令占用CPU时钟周期的占比。即使CPU在等待内存中的数据,操作系统工具仍然会报告CPU繁忙,这种情况通常称为停滞(stall),一旦发生停滞,就会浪费时钟周期。看到这篇文章CPU使用率度量指标是扯淡!,下面这种图说的也是这个意思。提高应用性能的策略就是减少停滞或改善CPU高速缓存使用率。减少CPU在等待内存数据时浪费的时间周期。故而也就有了,CPU

2021-04-02 20:38:32 399

原创 openpitrix源码调试

1、windows下安装docker下载docker运行不起来了,因为我的操作系统是win10家庭版,是没有hyper-v编辑``Hyper-V.cm,用管理员执行安装pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txtfor /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /ad

2021-03-31 13:47:10 377

原创 drools性能优化

在多线程读58万数据处理后写入到另外一张表中性能调优实例遇到第一个问题就是drools的性能瓶颈,对CPU消耗比加大,那么如何优化呢?1

2021-03-29 21:02:44 4971

原创 ApplicationEvent实现业务解耦

这个还是2017年索道项目里面应用到技术,hession通信,因为就我自己一个人开发,不想搞个rabbitmq之类的消息队列,来实现发布-订阅,解耦业务。这里记录一下。1 定义事件这里定义了一个日终处理事件package com.dzmsoft.monitor.api.event;import org.springframework.context.ApplicationEvent;/** * 日终处理事件 * @author dzm */public class EndProcess

2021-03-27 12:23:09 274

原创 hession通信

这里是回忆一下2017年的时候,用到的hession通信,需求是将索道的上位机传感器数据上传到云端,2个client端,向1个server端发送数据,这个模式想对比较简单。hessian首先是一个RPC框架,基于HTTP协议传输,使用hessian进行二进制序列化,效率高于 WebService 和 Java 自带的序列化。我们知道序列化是便于持久化存储和网络传输,这里再对比一下其他的序列化协议,java序列化框架(protobuf、thrift、kryo、fst、fastjson、Jackson、gso

2021-03-27 11:48:30 413

原创 多线程读58万数据处理后写入到另外一张表中性能调优实例

场景是设置线程池,从51万数据读取数据,将数据拆成60波,经过drools引擎处理后,将数据写入到另外一张表中。1 事务@Transactional(readOnly = true),只读事务针对一次性多条查询语句,例如统计查询,报表查询等情况,多条查询SQL必须保证整体的读一致性,所以一般情况下是不需要指定只读事务,因为数据库默认支持SQL执行期间的读一致性.readOnly=false表明所注解的方法或类是增加,删除,修改数据。 @Override public BaziInfo

2021-03-25 20:31:19 655

原创 fiddler使用总结

1 fiddler与夜神浏览器配置先看大神的配置Fiddler+夜神模拟器进行APP抓包配置https的抓包启动代理在夜神模拟器用的就是online这里的ip,应该是个内网地址夜神浏览器使用的是fiddler的代理网络,故而需要在浏览器中输入192.1...

2021-03-25 20:29:35 220

原创 多线程开发

实例来自Java中线程池,你真的会用吗?public class ExecutorsDemo { private static ExecutorService executorService = Executors.newFixedThreadPool(15); public static void main(String[] args) { for (int i=0; i<Integer.MAX_VALUE; i++){ executor

2021-03-19 14:18:06 191

原创 JVM监控

1 jstat命令JVM内存不够用、内存溢出可以通过监控JVM Heap信息来分析1.1 jstat -gcutilFGC26次,用时871ms,平均33.5ms一次,Full GC会暂停用户响应,也就是不处理用户请求,等待full gc完成后响应用户的请求,这个等待时间过大就会影响用户体验,所以Full gc是JVM调优的重点。如何判定Full gc多长时间一次是否合理呢?[root@bg2 ~]# jstat -gcutil 9477# S0:年青代中第一个survivor(幸存区)已使用的

2021-03-18 19:54:22 354

原创 前端性能检测

翻一翻《全栈性能测试性能宝典》回忆了以前httpwatch好像以前用到过,文章介绍了YSlow,但这个功能已经看不到了。我用的是PageSpeed Insights,这个插件只有chrome浏览器中支持.输入你的网址就可以,评估出优化项并能给出建议,挺好。...

2021-03-18 13:38:16 341

原创 helm

1 windows下安装helm使用win+x,选择windows powershell,PS C:\Users\DELL> get-ExecutionPolicyBypass执行下面的命令安装chocolatey,这是一款windows上的包管理工具,有了这款工具安装程序,就跟pip、brew一样方便。不过执行被我的McAfee组织了PS C:\Users\DELL> Set-ExecutionPolicy Bypass -Scope Process -Force; [System

2021-03-18 09:15:38 466

原创 性能监控诊断linux系统笔记

想要换工作的时候,才想到把之前做的碎片化的性能分析进行系统化学习,这里参考的是陈志勇、马利伟、万龙著《全栈性能测试修炼宝典Jmeter实战》,感觉自己上了一个台阶。1 评估标准先看一下web项目性能测试通过的标准,有了评判标准,系统设计的是否优秀就有了依据。2 瓶颈阈值分析下图把什么方面使用什么样的命令进行了梳理。2.1 CPU定位分析2.2 内存定位分析2.3 网络定位分析2.4 IO定位分析...

2021-03-17 19:36:19 235

原创 arthas

在2019年度最受欢迎中国开源软件看到jvm调优神器——arthas于是安装验证一下,也可参考官方文档Arthas 用户文档[root@bg2 app]# curl -O https://alibaba.github.io/arthas/arthas-boot.jar % Total % Received % Xferd Average Speed Time Time Time Current Dload

2021-03-16 12:18:36 352

原创 正则提取文本操作集(python和js)

命理的条文在古书里面都是pdf,要自己一个个手敲,还好有了网络很多工作有人已经做了。但是直接复制下来没有什么作用,因为一条断语往往包含了多条规则,有的还包含了几个方面的断言,这个时候就使用到爬虫+正则表达式来处理了。这里用到了一个在线验证正则的网站https://regex101.com/1 提取中间字段下面代码中(?<=(:))是匹配:开头的字符串,而(?=(生人))则匹配以生人为结尾的字符串,参考正则 ?<= 和 ?= 用法def parse_content(content):

2021-03-12 19:11:04 6464

原创 kubenetes配置vip的一些问题处理

执行journalctl -xeu kubelet,跟进日志,异常如下:Mar 11 17:59:33 master1 kubelet[6879]: I0311 17:59:33.594045 6879 kubelet_node_status.go:294] Setting node annotation to enable volume controller attMar 11 17:59:33 master1 kubelet[6879]: E0311 17:59:33.613681 68

2021-03-12 12:03:30 2286 1

原创 单元测试

1 springboot单元测试1.1 spring-boot-starter-test<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId></dependency>import com.dzmsoft.qingqiu.base.pojo.BaZi;i

2021-03-03 21:02:52 247 1

原创 双向认证

1 kerberoskerberos是有MIT开发的一套在非安全网络中,对个人通信以安全的手段进行身份认证。本文参考了三个链接,如下:谈谈基于Kerberos的Windows Network Authentication[上篇][原创]谈谈基于Kerberos的Windows Network Authentication - Part II谈谈基于Kerberos的Windows Network Authentication[下篇]1.1 加密key的存活期Long-term Key存在安全问题

2021-03-02 21:05:27 1917

原创 八字命理应用drools规则引擎

调研规则引擎用于八字命理中介绍了easyrules,easyrules比较轻量,但实际使用规则引擎,还是drools更能胜任复杂的业务。因为决策表可以让这个逻辑更加优雅为什么一定要研究规则引擎,因为边缘计算中规则引擎是一个技术趋势,但是drools在边缘中运行就有些重了。当你看了很多命理书的时候,感觉还是用规则引擎来做,比使用java设计模式要强的多。...

2021-02-27 21:26:37 771

原创 服务器初始化脚本

1 磁盘购买云磁盘,有的时候是没有挂载的,还需要自己去根据LVM相关命令去执行,如果买的服务器比较多,还得每一台都弄,所以就自己写shell脚本,看看常规的命令,也不是很复杂。1.1 只有1个数据盘多盘的应该是用一个循环来实现,但因为资源受限,只有1个数据盘的脚本如下:终于搞明白grep、awk以及变量如何使用。init_disk() {cat << EOF+--------------------------------------------------------------

2021-02-26 20:23:11 292

原创 万维百科人物

中文维基百科访问不了,还好有个万维百科,可以从中获取名人的出生日期,虽然只有六个字,至少国外的人物出生日期想对比较准确。1 建库脚本create database if not exists wiki_person default character set utf8 default collate utf8_general_ci;show databases;use wiki_person;DROP TABLE IF EXISTS `life`;CREATE TABLE `

2021-02-11 09:39:23 4542 1

原创 yarn-ats

进入到zookeeper查看是否有/atsv2-hbase-secure/meta-region-server文件su - zookeeperkinit -kt /etc/security/keytabs/zk.service.keytab zookeeper/bg6.whty.com.cn@HADOOP.WHTYsh /usr/hdp/3.1.0.0-78/zookeeper/bin/zkCli.sh -server bg6.whty.com.cn:2181查看zookeeper的目录结构,可以

2021-02-03 19:22:16 3218

mybatis代码生成插件

mybatis代码生成插件

2016-09-03

空空如也

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

TA关注的人

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