自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker离线安装以及本地yum源构建

Docker离线安装以及本地yum源构建在docker的使用过程中有时候会遇到一些私有化部署的问题,就是在一些无法上网的机器上面安装使用dokcer,这就引出了docker的离线安装的问题,docker要如何进行离线安装呢?让我们接下来一步步阐述。环境:centos 7.0 内核版本3.10.0-229.el7.x86_64docker 1.12.6版本基本思路:在可以连接外网的机器(未安装

2017-03-20 10:52:00 28203 1

原创 SkyWalking系列之skywalking go agent 使用问题

概述SkyWalking 是一个基于 OpenTracing 规范的、开源的 APM 系统,它是专门为微服务架构以及云原生架构而设计的,支持多种语言的客户端,部署简单,快速,目前在业界使用较为广泛。具体的skywalking安装部署参照上一篇博文:SkyWalking搭建。Skywalking go agent配置使用参照:skywalking go agent配置使用本文主要解决go agent使用过程中的问题:Method not found: skywalking.v3.Management

2021-06-02 14:42:15 3485 3

原创 SkyWalking系列之skywalking go agent配置使用

概述SkyWalking 是一个基于 OpenTracing 规范的、开源的 APM 系统,它是专门为微服务架构以及云原生架构而设计的,支持多种语言的客户端,部署简单,快速,目前在业界使用较为广泛。具体的skywalking安装部署参照上一篇博文:SkyWalking搭建。由于我司部分底层服务用golang实现,为了做apm分析,需要集成skywalking go agent。环境搭建名称链接描述go2skyhttps://github.com/SkyAPM/go2skyg

2021-05-31 17:53:08 4737 6

原创 Flink+iceberg环境搭建以及问题处理

Flink+iceberg+hive环境搭建概述作为实时计算的新贵,Flink受到越来越多公司的青睐,它强大的流批一体的处理能力可以很好地解决流处理和批处理需要构建实时和离线两套处理平台的问题,可以通过一套Flink处理完成,降低成本,Flink结合数据湖的处理方式可以满足我们实时数仓和离线数仓的需求,构建一套数据湖,存储多样化的数据,实现离线查询和实时查询的需求。目前数据湖方面有Hudi和Iceberg,Hudi属于相对成熟的数据湖方案,主要用于增量的数据处理,它跟spark结合比较紧密,Flink结

2021-05-11 10:50:47 8927 11

原创 SkyWalking系列之SkyWalking搭建

SkyWalking搭建概述SkyWalking 是观察性分析平台和应用性能管理系统。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。支持Java, .Net Core, PHP, NodeJS, Golang, LUA语言探针支持Envoy + Istio构建的Service Mesh本文主要讲解搭建单机版的SkyWalking APM系统。环境搭建环境:elasticsearch 6.3.2skywalking 6.3.0jdk 1.8centos7安装ela

2020-05-27 09:56:59 1024 1

原创 wireshark如何抓取WebSocket数据包

wireshark如何抓取WebSocket数据包前文WebSocket目前在web端使用官网,可以使用websocket来传输数据,解决了web端无法跟服务器维持高效的长链接的问题。什么是websocket呢?websocket是一种浏览器与服务器进行全双工通讯的应用层协议。它基于 TCP 传输协议,并复用 HTTP 的握手通道,可以在浏览器里使用,支持双向通讯。本文来讲述一下如何通过wi...

2019-10-24 15:39:04 12953 2

原创 AWS 使用Lambda实现钉钉机器人报警

AWS 使用Lambda实现钉钉机器人报警前言aws 支持邮件和短信的报警通知,考虑实效性问题和结合公司的使用情况,需要接入钉钉机器人的告警提醒,为了使用钉钉机器人的告警,我们需要利Lambda+sns结合起来,利用Lambda接受SNS的警告信息,然后通过python发送到钉钉机器人上去。Lambda的配置进入lambda服务,路径:服务->搜索,通过lambda关键字可以查找到...

2019-08-14 20:11:51 7743 1

原创 rocketmq安装配置

rocketmq安装配置环境jdk: 1.8mq: 4.4.0系统:centos 7rocketmq的安装rocketmq使用Java编写的项目,安装rocketmq可以参照官网来一步步进行,首先需要自己下载源码,进行编译,下载路径:https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.4.0/rocketmq-all-4.4.0-...

2019-08-12 20:09:47 1938 1

原创 aws s3跨域访问问题分析定位

aws s3跨域访问问题分析定位问题描述公司把图片存储从七牛云迁移到aws s3,图片迁移完成后,在网站获取图片资源的时候,报错,提示跨域存在问题。提示语见下:Access to Image at ‘’ from origin '’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is pres...

2019-07-22 18:44:34 6825

原创 数据库线程池引发的系统磁盘100%问题

数据库线程池引发的系统磁盘100%问题[TOC] 平台某系统凌晨3:00突发告警,系统磁盘使用率超过门限,很快达到100%,主系统功能不可用,整个集群出现同样的问题,运维同事紧急介入,压缩日志,重启系统,系统回复正常问题描述究竟是什么问题引发的磁盘使用率100%呢?经过排查,基本定位为日志文件导致,日志把系统磁盘给打爆了,为什么日志会突然间暴增了?而近期系统没有发版,而且凌...

2018-09-14 14:41:33 1081 2

原创 Mac下安装和使用docker

Mac下安装和使用docker近期切换到mac os下开发,需要使用docker,梳理一下mac如何安装和使用docker安装下载mac docker路径: https://docs.docker.com/docker-for-mac/install/#download-docker-for-mac 下载版本: Stable channel 下载完成后,正常进行安装,安装o

2018-01-29 15:22:39 696

原创 netty客户端引发的线程血案(三)

netty客户端引发的线程血案(三)

2017-08-18 11:42:49 2230

原创 netty客户端引发的线程血案(二)

netty客户端引发的线程血案(二)前言前文讲解了基于netty-client 3.10.5如何出现的线程雪崩,在分析该问题的过程中,我们切换了es-client调用的netty库,尝试使用了netty的一些老的版本,发现,在3.2.4版本上面不存在该问题,这是什么原因导致的呢?

2017-08-14 17:52:50 3642

原创 用netty实现paho(一)

用netty实现paho(一)前言在我们实际的项目中,使用了开源MQTT协议的实现mosquitto,使用mosquitto作为server,负责消息订阅,消息推送,长连接管理和检测等功能,同时使用了paho作为客户端进行对接,paho也是一款Eclipise开源的支持MQTT协议的客户端,有多种语言版本实现,可以用于PC端,服务器端,前端,嵌入式端,移动端等,我们使用了paho作为我们的服务端对接

2017-07-27 19:21:25 5345

原创 netty客户端引发的线程血案(一)

netty客户端引发的线程血案前言近日,在某个项目发现线程数量持续暴涨,最后OOM的问题,开发人员很头疼,刚好来问我,就协助分析了一下,观察服务器状态,CPU使用者正常,内存消耗持续增加,socket数量正常,通过jstack看,线程数量持续增加,大量线程处于epollWait函数调用中,线程状态是RUNNABLE,线程持续增加,很不正常,了解了项目的情况,发现新增了一个功能,就是使用了esl-cl

2017-07-25 20:20:48 11105 5

原创 Rabbitmq java client编译

Rabbitmq java client编译前言项目中用到了rabbitmq用来做异步任务队列,遇到了一些问题,决定翻阅一下client源码,官方文档提供的build流程不够详细,这里整理一下环境client版本:3.6.1 AMQP协议:0.9.1步骤获取源码,client源码可以通过GitHub获取,路径:https://github.com/rabbitmq/rabbitmq-java-c

2017-07-21 19:11:14 785

原创 commons pool2

commons pool2前言项目中使用到了微服务的框架thrift,服务间通过RPC通讯,每次RPC调用,都需要建立长连接,使用完成后关闭长连接,在高并发场景下,效率不高,这时,我们就需要采用池化技术,使用连接池,通过空间换时间,不必每次都创建和关闭连接,提高我们的RPC的调用效率。这里我们采用的是Apache的commons pool2,这时一个开源的对象池组件,使用较为广泛,我们常用的jedi

2017-07-03 19:45:10 765

原创 Java LinkedHashMap

Java LinkedHashMap前言Map是我们在实际使用过程中常用的集合,HashMap在Java的实际开发中出镜率很高,它通过hash算法实现了高效的非线程安全的集合,它有一个缺点就是,用户插入集合的数据时无序,在我们需要一些有序的map的时候,我们就需要引入另外一个集合:LinkedHashMap。 LinkedHashMap是一个有序的非线程安全的集合,它是HashMap的子类,基本特

2017-06-23 11:54:00 771

原创 ReentrantLock学习笔记

ReentrantLock学习笔记前言java中提供了2种锁,一种是synchronized(内置锁,轻量级锁,重量级锁,偏向锁都是指的这种锁),另外一种是ReentrantLock,也就是我们常说的可重入锁。synchronized锁的是对象,而ReentrantLock锁的是线程,ReentrantLock更为复杂,锁的粒度比较细,使用不当,例如lock了,但是没有使用unlock释放锁,容易产

2017-06-20 20:23:57 317

原创 String.valueOf引发的错误

String.valueOf引发的错误背景近日在配合客户端调试的时候,客户端无法解析restful返回的失败返回值,需要服务器端配合解决,该问题,查看了服务端的log,返回值以json格式正常返回了,没有异常,那问题出在哪里呢?怀疑是客户端解析问题导致。分析问题查看了客户端的解析返回值的代码,发现疑点,客户端使用String.valueOf(byte []),将收到的byte []转换了为Strin

2017-06-19 11:48:51 4359

转载 kafka 数据可靠性深度解读

kafka 数据可靠性深度解读 2017-06-11架构文摘 1 概述Kakfa起初是由LinkedIn公司开发的一个分布式的消息系统,后成为Apache的一部分,它使用Scala编写,以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark等都支持与Kafka集成。Ka

2017-06-14 11:58:44 565

转载 为什么Kafka那么快

为什么Kafka那么快 原创2016-07-18 fireflyc写程序的康德 网上有很多Kafka的测试文章,测试结果通常都是“吊打”其他MQ。感慨它的牛B之余我觉得必要仔细分析一下它如此快速的原因。这篇文章不同于其他介绍Kafka使用或者技术实现的文章,我会重点解释——为什么真快。(当然不是因为它用了Scala!!!!)生产者(写入数据)生产者(producer

2017-06-14 08:49:36 14869 4

原创 Java hashmap

Java hashmap本文基于Java 1.7 进行分析,这次分析主要是作为自己的笔记留存。hashmap的基本原理HashMap基于哈希算法,使用put存放对象,get获取对象put,用户将K-V传递给put后,通过K对象的hashcode()方法来计算本次存储的hash值,然后通过indexFor()方法,获取需要存入hash桶的位置,hash桶是一个数组,默认初始大小是16,里面存放的是E

2017-06-07 20:01:31 400

原创 Mybatis为什么第一次访问数据库会慢?

Mybatis为什么第一次访问数据库会慢?

2017-06-02 20:23:34 9267

原创 聊聊Thrift(四) thrift 服务篇-TNonblockingServer

聊聊Thrift(二) thrift 服务篇-TNonblockingServerTNonblockingServer是thrift提供的NIO实现的服务模式,提供非阻塞的服务处理,用一个单线程来处理所有的RPC请求。 类关系如下: AbstractNonblockingServer是TNonblockingServer和TThreadedSelectorServer的父类,TThreade

2017-05-31 23:10:22 4598 2

原创 聊聊Thrift(三) thrift 服务篇-TThreadPoolServer

聊聊Thrift(二) thrift 服务篇-TThreadPoolServer上一篇文章列举了3中主要的服务端的模式,是我们工作中主要使用的模式,包括2种非阻塞的模式(TNonblockingServer ,TThreadedSelectorServer )和一种阻塞的模式(TThreadPoolServer ),本文深入这三种模式进行逐一讲解,先从TThreadPoolServer 开始深入。T

2017-05-27 18:16:46 8660

原创 聊聊Thrift(二) thrift java lib源码编译

聊聊Thrift(二) thrift java lib源码编译本文主要讲解thrift Java的源码如何编译环境thrift-0.9.1Win7 64ant 0.8.1 maven 3.0.3Java 1.7maven的安装配置网上教程很多,本文不做详述,主要是官网下载好压缩包,下载,解压放到指定位置,然后配置setting.xml文件ant的安装配置官网下载http://archi

2017-05-27 15:13:28 1224

原创 聊聊Thrift(一) 基础

聊聊Thrift什么是ThriftThrift——Apache Thrift 是 Facebook 实现的一种高效的、支持多种编程语言的远程服务调用的框架。 Thirft采用接口描述语言定义并创建服务,支持可扩展的跨语言服务开发,所包含的代码生成引擎可以在多种语言中,如 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa,

2017-05-25 19:52:30 727

原创 Thrift java.net.SocketException: Broken pipe问题分析定位

Thrift java.net.SocketException: Broken pipe问题分析定位在实际的thrift使用过程中,thrift客户端跟服务端通讯会有时爆出org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe异常,复现概率不高,很是困惑不知道是由什么原因引起的,在此

2017-02-06 19:55:28 15800

原创 paho java log输出

paho java log输出在paho Java版本的使用过程中,有时候会遇到需要输出paho内部log的情况,这个是需要就需要进行log的相关的设置,下文给出Windows和linux的log设置。在 main函数开始执行时,设置。Linux System. setProperty("java.util.logging.config.file", "conf/jsr47min.prope

2016-04-26 19:39:41 1455

原创 Git如何回滚版本

Git如何回滚版本在实际工作中经常会遇到需要回滚git版本的情况,这里讲解的主要是远程库的回滚,我遇到的情况是两个分支合并出现问题,导致主分支无法有效合并其他分支的代码,冲突比较多,如果一个个的解决,会比较耗费时间,于是采用回滚主分支master的版本进行处理,我们的版本管理是使用小乌龟的git UI界面,处理流程见下: 1. 查看master分支log,确定要回滚回去的版本 2. 在确定的

2016-04-15 14:23:03 2509

原创 简单限速器的实现

简单限速器的实现服务器在高并发的场景下,不可能处理所有的请求,这就需要我们增加一些限制访问的措施,避免服务器瘫痪的情况,这里我们讲解一个简单的限速器实现,原算法来自于stackoverflow,链接:[限速器算法](http://stackoverflow.com/questions/667508/whats-a-good-rate-limiting-algorithm/668327#),本文我们实

2016-04-15 11:54:50 2055

原创 glog的编译,配置,使用

glog是Google推出的轻量级C++ log开源库,使用起来比较简单,自己可以下载源码直接编译,支持Windows和linux下载编译glog下载路径https://code.google.com/p/google-glog/ 需要翻墙才能下载,目前项目已经迁移到githubhttps://github.com/google/glog github路径 目前github上面最新过的代

2015-10-24 12:23:12 5225 1

原创 paho c客户端如何输出log

paho c客户端是phao提供的一个针对mosquitto协议的客户端实现版本,以动态库的形式提供,使用C语言实现。直接使用的话,无法看到paho输出的log,有时候一些问题的分析和定位需要追踪log,这就需要自己进行一些设置,我是在windows下使用phao,使用的工具是vs2013,这里主要针对这个环境进行讲解。 首先,我们查看phao的官方文档,看是否提供了log输出功能,我们在官方的

2015-10-21 09:42:31 2055 5

原创 Jsoncpp的编译和使用

Jsoncpp的编译和使用jsoncpp是C++程序用来解析json的开源库,支持c++11,目前该项目已经迁移到GitHub上面。 地址:https://github.com/open-source-parsers/jsoncpp 下载是需要注意,目前jsoncpp支持了c++11,下载是需要注意区分1.y.z is built with C++110.y.z can be used wi

2015-09-15 11:26:09 4788 2

空空如也

空空如也

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

TA关注的人

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