自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 收藏
  • 关注

原创 filebeat+logstash日志收集中出现的乱码问题

写在前面在ELK日志收集的使用中,filebeat上传的日志出现了乱码问题,这里记录一下解决问题的过程,由于我的bug原因比较特殊但是乱码现象网上还是很普遍的,多半是一些字符集编码的问题,我也尝试了进行字符集编码的更改,但是让然没有解决,最终通过修改日志打印格式解决了乱码的问题.bug描述日志在kibana中展示出现了乱码(乱码截图已丢)排查路线首先检查对应服务器上的日志文件是否出现乱码...

2018-12-17 22:36:13 12982 2

原创 java8-Optional的实战应用

Optional的学习与实战整片文章大部分内容来自java8实战这本书,我在这里也是将自己的学习过程记录下来,并且整理成笔记给需要的人提供一个方便,在学习的过程中主要有以下几点疑惑:不明白Optional的作用是什么?不清楚在什么情况下使用Optional?面对多层嵌套的情况Optional如何拆解?Optional和Stream之间的关系?写在前面作为一个java开发程序猿如果...

2018-12-17 21:25:48 4963 1

原创 @Validated注解使用

@Validated public String syncTable(@Validated SyncByTableRequest request) { logger.debug("request_info: " + JsonUtil.toJson(request)); String response = Response.success(syncService....

2018-02-27 11:33:17 53291 3

原创 自由潜水分享

自由潜水分享介绍自由潜水在开始介绍之前呢希望我们可以一起来看一个视频:一口气环游世界大家看完这个视频有什么感觉嘛?可以一起交流一下这个世界上可能有很多人喜欢浮潜(在水面上飘着),在这其中呢有一些人会尝试深吸一口气然后潜入海中片刻,享受在这蔚蓝中畅游的快乐.自由潜水就是这么开始的。自由潜水其实不是什么极限的运动,游泳和潜水使我们与生俱来的技能。想一想几十亿年前我们人类的祖先也是从海洋走向的陆地,所以自由潜水是对自身本能的一种唤醒。休闲自由潜水和极限自由潜水休闲自由潜水尝试在水中停留的更久

2022-01-24 23:56:49 692

原创 户外运动提纲

提纲自由潜水为什么选择?哪里吸引我有那一刻想要放弃么有被误解过么故事有当做工作么?为什么不做相关的工作户外运动上花过多少钱是否有风流事变成什么户外工具单板滑雪为什么选择?哪里吸引我?徒步露营为什么选择?哪里吸引我?攀岩为什么选择?哪里吸引我?探险(城市探险)为什么选择?哪里吸引我?提纲自由潜水为什么选择?哪里吸引我大多数人对海洋都会有所幻想吧毕竟那是我们人类很难涉足的地方.一开始的我学习自由潜更多的事项去海里看看,但是我好像被.

2021-12-26 16:06:34 358

原创 证券从业备考流程

证券从业备考流程前言需要考的证是证券从业,考证的目的是为了倒逼自己系统的学习金融市场相关知识培养自己的金融体系和投资意识.10月30号考试所以时间还是比较近的需要加把劲,我会把全部流程和复习资料整理出来,一定要按照计划进行学习.主要的学习方法就是看书和做题累了的时候可以看视频教程,每天的连续学习时间需要保持在2个小时左右可以选择番茄学习法每25分钟休息5分钟.报名现在已经可以开始报名了报名:https://ks.sac.net.cn/sac/login/login_qt.htm?jsessi

2021-09-18 09:48:14 315

原创 eureka-jvm异常问题

注册中心案例一(jvm内存猛增)问题描述eureka主从节点之间同步频繁出现超时现象,客户端连接eureka节点出现超时现象.解决思路群里出现告警,告警信息为eureka-master节点HealthCheck超时登录eureka-master节点查看日志发现内部出现大量peerNode数据同步超时的erroreureka-master节点的配置为100C128Gjvm分区比例未优化回回收器默认(parallel)观察jvm情况MinorGC执行非常频繁使用jstat -gc

2021-05-10 16:22:16 856 1

原创 Elasticsearch源码阅读--节点的启动和关闭

Elasticsearch源码阅读–节点的启动和关闭集群启动流程在讲解节点的启动和关闭之前先来了解一下es集群是如何启动的.从加载第一行代码开始到整个集群启动结束,集群的状态是从Red变成Green.这期间主要经历选举主节点,主分片,数据恢复等重要阶段.集群整体的启动流程如下图所示.当一个索引的主分片分配成功后,到此分片的写操作就是允许的.当一个索引所有的分片都分配成功后,该索引变为Yellow.当全部索引的主分片都分配成功后,整个集群变为Yellow.当一个索引全部分片分配成功后,该索引变为G

2021-04-30 11:30:32 825 3

原创 SpringBoot实战分享讲义

title: 逐字稿tags: talnotebook: tal逐字稿逐字稿大纲开篇导语SpringBoot是什么为什么学习SpringBootSpringBoot有哪些优点良好的基因简化编码简化配置简化部署从未来发展的趋势来看本节课能学到什么SpringBoot开发法环境搭建和启动init包的下载了解包结构第一次启动SpringBoot写一个helloword理解固化的Maven依赖嵌入式web容器性能对比TomcatJetty.

2021-01-13 00:37:27 980 1

原创 OKR学习心得

OKR的学习心得正逢一年之处我打算把今年的发展方向进行规划.在这之前我尝试了柳比歇夫时间管理办法,通过第一阶段的时间记录已经培养了自己对时间的敏感度.但是对于未来的计划仍然没有好的管理方案,传统的KPI或者是任务列表式管理太容易产生挫败感,并且把KPI作为人生目标的管理工具是非常盲目的.别说是指定一年的KPI计划了就算是三个月的规划也无法用具体的指标来衡量.所以我打算结合工作以及兴趣爱好去规划一个发展的方向,这个方向是需要不断变化的,并且每个阶段都应该有所成果,所以我使用OKR作为管理框架帮助自己实现以年

2021-01-05 21:16:27 3919 3

原创 阿里四面-菜鸟基础服务组(谈一下自己最大的缺点)

阿里菜鸟基础服务组四面(谈一下自己最大的缺点)这个问题看似简单实则回答的时候有很多的细节和技巧.我在第一次被问到的时候是阿里菜鸟基础架构部的4面, 说实话在这之前我从未被问道过这一类问题.下面我复述一下当时四面的场景.场景描述面试官钉钉询问是否有时间可以开启视频面试第四面是提前加了钉钉以方便约视频面试统一了有时间之后面试官发视频邀请面试官提问: 用1-2分钟做自我介绍我主要介绍了当前的项目组工作内容和我负责的内容就之前的内容做了一些深入的讨论

2020-12-21 15:40:00 588

原创 Eureka源码阅读

Eureka源码阅读Eureka中的一些概念在阅读Eureka源码之前我们需要弄清楚几个概念:Register: 服务注册Renew: 服务续约Fetch Registries: 获取注册列表信息Cancel: 服务下线Eviction: 服务提出Eureka的高可用架构如图为Eureka的高级架构图,该图片来自于Eureka开源代码的文档从图可以看出在这个体系中,有2个角色,即Eureka Server和Eureka Client。而Eureka Client又分为Applica

2020-12-03 14:52:53 321 1

转载 服务端高并发分布式架构演进之路

1、概述本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。2、基本概念在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍。1)什么是分布式?系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat分别部署在不同服务器上。2)什么是高可用?系统

2020-11-26 17:27:28 237

原创 如何做到秒级扩容1000加业务节点

如何做到秒级扩容1000加业务节点写在前面这里如果想要了解这个项目的背景可以看我之前写过的一篇文章.经过一段时间业务方的打磨在弹性扩容上我们遇到了很多问题, 这里我简单列举一下:扩容时间长:ecs自动申请分钟级耗时;服务响应慢:ecs申请到之后还需要加入k8s集群以及安装os和相关的网络资源;服务发现模式单一:仅支持基于svc的rr负载;容器之间隔离不健康:容器之间的隔离使用污点进行配置,操作繁琐并且依然存在抢占的肯能行;服务扩缩容断流:扩缩容时存在流量闪断的情况;大量弹性需求导致集群i

2020-11-09 07:18:01 870

原创 Spring Cloud Gateway中一个请求的生死

Spring Cloud Gateway中一个请求的生死gateway通常指的是网关, 这里所说的gateway指的是Spring Cloud Gateway(一下简称gateway), 在整个Spring Cloud体系中gateway的作用非常重要, 所有的请求都会经过gateway进行路由分发到后端具体的服务.本篇文章从以下几点开始介绍:什么事gatewaySpring Boot web容器初始化gateway模块初始化http web 模块初始化gateway以及web容器之间的调用

2020-08-11 17:07:30 1223

原创 Deployment配置启动探测器实现java滚动部署

配置存活、就绪和启动探测器我们平时在使用k8s的时候会面临到版本升级的问题,我个人开发使用的基本都是java语言,所以也一定会遇到一个问题代码启动缓慢.更新Deployment版本的时候java的延迟启动会导致请求失败,为了解决这种情况可以使用金丝雀发布.使用连个Deployment代表两个版本,两个Deployment有相同的Label,在新版本的Deployment完全启动之后,下掉就得Deployment但是这种方法操作上是相对复杂的,而且违背了k8s的更新规则使用探测器确保pod处于r

2020-05-26 17:23:28 460

原创 Kubernetes服务定时伸

Kubernetes服务定时伸前言容器技术的发展让软件的交付和运维更加标注化,轻量化,自动化.这使得动态调整负载的容其数量成为一件非常简单的事情,在kubernetes中,只需要修改对应的replcas数目即可完成,对应到我们的paas平台上我们只改变手动伸缩进行调整也可以改变所需容器组数量即可当负载的容量调整变得如此简单后,我们再回过头来看下应用的资源画像。对于大部分互联网的在线应用而言,...

2019-12-25 11:09:22 825

原创 CoreDNS解析域失败以及内网转发出现5秒卡顿

问题描述测试环境中服务在内网调用其他服务时偶尔出现5秒卡顿,但是在外部网络调用不会出现卡顿;测试环境中访问外网,偶现解析域名失败;调查过程内网访问出现卡顿对服务自身以及调用目标进行打点计时,发送方接收响应式出现卡顿,目标服务正常;对网关以及Nginx进行打点计时,均未出现超时;由于外网访问正常而内网不正常,排除网络传输问题;外网访问与内网的区别是URL不同以及DNS解析所获取...

2019-12-13 17:08:13 5018

原创 Apollo自动更新配置源码分析

源码阅读—定时拉取配置AbstractConfigRepository提供模板方法trySync(),具体实现交由子类管理监听者集合(添加,删除)fire!!通知监听者拉取配置改变状态 protected void fireRepositoryChange(String namespace, Properties newProperties) { for (Re...

2019-11-08 19:20:27 991

原创 Centos7 配置netatalk搭建mac Time Machine

Centos7 配置netatalk搭建mac Time Machinemac的Time Machine是一个备份的功能,他会增量的为我们备份系统,如果你的mac丢失了或者是进水了(彻底死亡)这是你有Time Machine的时间备份,那么就可以去苹果商店买一个新的mac使用Time Machine将新的机器还原到你当初的状态.使用Time Machine备份有两种方式:磁盘备份mac的...

2019-11-08 19:18:25 2260

原创 kvm磁盘相关

kvm磁盘管理创建磁盘的时候注意选择磁盘类型,需要和现有的磁盘类型保持一致主机磁盘相关操作查询虚拟机状态$ virsh list查看虚拟机磁盘挂在情况$ virsh domblklist jbzm-mac给虚拟机挂在磁盘$ virsh attach-disk jbzm-mac /home/jbzm/kvm_iso/mac.img vdc给当前的磁盘添加容量$...

2019-11-08 19:16:26 265

原创 使用kubeadm快速安装k8s

使用kubeadm快速安装kubeadm是一种快速安装kubernetes的方法,最早的安装方法是完全通过二进制进行安装,但是随着k8s技术的发展出现了使用自身管理组件的方法去安装,说白了就是先安装一个kubeadm和一个kubelet.接下来的事情就交给kubeadm去做就好了.安装kubeadm使用Centos7安装需要手动添加源#!/bin/bashcat <<EOF ...

2019-11-08 15:31:42 215

原创 Centos7网卡配置

网卡配置网卡配置非常重要,它关乎到我们的虚拟机与外界交互的出入口,在这里我只是放了一些关键的配置,具体教程小伙伴们可以点开文章最下方连接宿主机我们的宿主机实际上只有一个固定ip,通过物理网卡进出流量,通过网桥来搭建路由器,对虚拟网络提供入口物理网卡默认PROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=dhcpDEFROUTE=yesIPV4_...

2019-11-08 15:29:27 430

原创 关闭SSH-DNS解析关闭

SSH-DNS解析关闭如果出现ssh登录缓慢的情况,需要关闭ssh-dns解析(1)取消sshd服务的dns反向解析 #vi /etc/ssh/sshd_config(2)找到选项UseDNS ,取消注释,改为 UseDNS no(3)重启sshd服务 /etc/init.d/sshd restart...

2019-11-08 15:26:56 2505

原创 Logback 对比 Log4j2

Logback 对比 Log4j2测试分为本地测试端和服务器端,分别对gateway网关进行日志输出的压测同步日志,不打印日志logback(150并发,0间隔,循环50次)log4j2(150并发,0间隔,循环50次)同步日志,打印日志(大小4k,循环输出100次)logback(150并发,0间隔,循环50次)log4j2(150并发,0间隔,循环50次)异步打...

2019-10-31 18:10:04 13988

原创 微服务下的配置管理---Apollo(基于k8s部署)

微服务下的配置管理—Apollo为什么需要统一管理配置在微服务的架构下,架构的复杂度以及服务的数量都会比之前单体应用复杂很多,配置的集中管理,以及模块化管理是非常有必要的。服务对于配置的依赖程度也非常高,配置修改后的实时生效、灰度发布、环境的区分等等。我们的服务部署在k8s上,打包的方式基于docker所以一次构建所有环境部署这一点是毋庸置疑的.配置外置使容器达到真正的无状态。在面对这样...

2019-10-31 18:07:11 2597

原创 bean的创建

文章目录创建bean从缓存中获取从bean的实例中获取对象获取单例准备创建bean实例化BeanCreateBeanInstance创建bean经过xml和注解的解析,我们已经扫描的了所有的Bean,下面开始讲Bean创建出来.ApplicationContext里面有一个方法是getBean(),那么就跟着这个方法,来看看Bean是如何获取的.从缓存中获取同一个Bean容器只会创建一次...

2019-07-19 18:39:19 412

原创 Spring的扩展功能

文章目录Spring的扩展功能ApplicationContext**强调一下,Spring的扩展功能有很多,这里我只记录自己遇到的和使用过的**添加ApplicationContextAwareProcess处理器FactoryBean的使用BeanFactory的后处理调用BeanFactoryPostProcess注册BeanPostProcessor调用顺序BeanDefinitionRe...

2019-07-19 18:35:58 787

原创 从零开始搭建私有云03-kvm安装以及可视化

kvm安装以及可视化kvm安装这里直接把快速过一遍流程检查是否支持虚拟化cat /proc/cpuinfo | egrep 'vmx|svm'安装相关环境qemu-kvm 主要的KVM程序包python-virtinst 创建虚拟机所需要的命令行工具和程序库virt-manager GUI虚拟机管理工具virt-top 虚拟机统计命令virt-viewer GUI连接程序,...

2019-05-08 10:29:22 931

原创 从零开始搭建私有云01-安装操作系统

安装操作系统再启动物理机之前我们需要准备好操作系统的镜像,这里我们选择Ubuntu或者是CentOS都可以,启动盘制作对我来说是轻车熟路了,但是用mac制作启动盘还是头一次(使用windows系统的小伙伴请自行百度吧)启动盘制作制作系统// hdiutil convert -format UDRW -o (.img文件输出全路径) (.iso文件的全路径)$ hdiutil conv...

2019-05-08 10:27:21 1066

原创 使用docker搭建es出现logstash无法写入FORBIDDEN/12/index read-only / allow delete (api)

使用docker搭建es出现logstash无法写入FORBIDDEN/12/index read-only / allow delete (api)问题描述起因是logstash无法将数据写入到es中,通过查看日志发现logstash有如下输入FORBIDDEN/12/index read-only / allow delete (api)原因是es的磁盘空间超过了80%(默认值)解...

2019-04-24 17:09:16 869

原创 源码阅读—Client工作流程

写在前面先说一下目前遇到的情况:再生产中使用了Apollo;在我们的环境中使用Apollo的方式是直接改写他的源码,然后本地部署,将他的Client进行打包拿到项目中进行使用(基本不会改变Apollo的源码);由于公司内部很多组件使用Start的方式进行编写,需要了解Apollo对配置文件的加载过程;由于公司Apollo的使用比较混乱,导致一个项目不同的环境有多个branch的存在;...

2019-04-13 15:51:04 165

原创 Optional的学习与实战

Optional的学习与实战整片文章大部分内容来自java8实战这本书,我在这里也是将自己的学习过程记录下来,并且整理成笔记给需要的人提供一个方便,在学习的过程中主要有以下几点疑惑:不明白Optional的作用是什么?不清楚在什么情况下使用Optional?面对多层嵌套的情况Optional如何拆解?Optional和Stream之间的关系?写在前面作为一个java开发程序猿如果...

2019-03-29 18:57:07 284

原创 数据库读写分离的分析和使用

写在前面随着业务的发展和数据量的增加,需要对数据库架构进行调整,目前我们所使用的是一台单点的数据库,考虑到项目对外部提供服务之后业务会大量的增长,现在需要将数据库更改为主从的架构.数据库架构介绍通过对数据库数据进行拆分,来提高数据的访问频率,以及扩展数据库的存储量.什么是主从架构通过Mysql的binlog进行数据拷贝,将主库的增删改操作复制到从库中,已达到主从同步的目的.什么是读写...

2019-03-28 11:05:46 747

原创 国家地理终极观星指南读书笔记

写在前面《国家地理终极观星指南》这本书是一本观星的入门级图书,覆盖面很广,对观星进行扫盲.我利用周末的休息时间将这本书读完了(在西西弗蹭的)并且整理了思维导图。pdf以及相关资料在我的git上相关资料...

2019-01-27 18:35:34 1536

原创 plantUML教程(使用实战)

写在前面经过一段时间设计模式的学习,发现自己非常想写点东西并且把自己之前写过的代码整理出uml图,但是考虑本人实在不愿意搞一些图框拼来拼去(主要还是懒),在加上长期使用markdown进行写作,所以希望有一款类似于markdown的工具帮助我们完成uml图.plantUML这个工具是网上推荐量比较大的一个工具吧,抱着试一试的态度去学习使用,学习的方式是通过阅读官网的文档(文档真的很良心,而...

2019-01-26 23:19:19 16473

原创 Arthas安装及使用

写在前面Arthas是阿里爸爸开源出来的一款java监控工具,命令行操作,完全面向开发人员,其专业行令人发指.安装过程wget https://alibaba.github.io/arthas/arthas-boot.jarjava -jar arthas-boot.jar下载完jar包之后需要联网下载相关的jar包,当然这些操作都是arthas-boot.jar自动执行的相关命令介...

2019-01-25 19:58:36 5171

原创 elasticsearch script实战

写在前面大家在开发elasticsearch的时候都会遇到很多去怪的需求,如果我们已知的RestAPI无法帮助我们完成搜索,是就需要我们自己动手写脚本来辅助搜索,完成需求.浅谈elasticsearch-script脚本使用机制通过阅读官方文档我们可以了解到es所使用的脚本语言是painless这是一门安全-高效的脚本语言,基于jvm的,总而言之对于java语言的小伙伴来说是非常友好的....

2019-01-25 16:33:09 17206

原创 Head First设计模式读书笔记

写在前面这里阅读了Head First设计模式,本书也算是设计模式中比较经典的一本了,读的比较细,这里把自己整理的脑图放出来pdf以及相关资料在我的git上相关资料...

2019-01-23 10:32:31 1059

原创 使用python-api批量修改数据

写在前面之前使用es都是通过JavaApi进行操作,之所以使用java的原因是因为在工程里使用的开发语言就是java,随着对脚本语言的逐渐了解现在开始尝试使用python提供的api对es进行操控elasticsearch库介绍使用python操作es有很多种方法,es本身对外也提供RESTApi让我们去调用,当然本质上python的库(elasticsearch)实际上也是对esRESTA...

2019-01-15 15:59:16 1577

空空如也

空空如也

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

TA关注的人

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