自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

文竹牧场

吃肉的文竹需要一片牧场

  • 博客(31)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java Dependence Analysis(Java静态依赖分析)

在Java项目项目中,经常会面临依赖升级,依赖变更的情况。通常情况下,无法做到全面的检查,java8以上版本自带的jdeps命令可以对依赖进行分析,但受限于JDK的版本,jdeps功能有一定差异,虽然可以检测到类依赖确实,但通常无法检查到方法的缺失。此工具就是为了全面的解决依赖问题,可以提供成员变量类型、方法参数、方法返回值、方法异常捕获、字节码指令中涉及到类和方法的内容的全面检查。.........

2022-06-09 15:57:27 1394 1

原创 通过Kubernetes Admission Controllers机制实现灵活低侵入式挂载Skywalking Java Agent

前言官方资料:https://kubernetes.io/zh/docs/reference/access-authn-authz/extensible-admission-controllers/#admission-webhooksJsonPach:http://jsonpatch.com基于Kubernetes Admission Controllers的Java Agent自动挂载方式目前仅支持Java Agent的挂载材料Skywalking InjectionDockerH

2020-08-13 22:20:04 4837

原创 Skywalking Java Agent在Kubernetes项目中的常见挂载及启动模式

前言Skywalking Java Agent: https://github.com/apache/skywalking/blob/master/docs/en/setup/service-agent/java-agent/README.mdSkywalking Java Agent可以通过在项目代码中引入以及使用Java Agent机制挂载。针对于在Kubernetes中挂载Skywalking Java Agent,所采用的方式为使用Java Agent机制,对原系统侵入性较小,挂载方便。相

2020-08-13 22:17:12 2149 1

原创 Kubernetes Ingress 集成 Skywalking 实现全链路追踪

前言Kubernetes Ingress: https://github.com/kubernetes/ingress-nginxSkywalking: https://github.com/apache/skywalkingSkywalking Lua Agent: https://github.com/apache/skywalking-nginx-lua可使用Skywalking Nginx Lua 或 Skywalking Zipkin Receiver接收数据并分析。Kubernete

2020-08-13 22:14:54 1538

原创 Kubernetes已部署集群切换kube-apiserver等核心容器镜像仓库地址

背景使用Kubeadm在国内部署Kubernetes集群时,由于无法访问k8s.gcr.io,就修改了默认的仓库地址,直接使用了Azure 提供的gcr.azk8s.cn/google_containers仓库。部署信息操作系统:Centos7Kubernetes:v1.17.0 单Master节点问题docker pull gcr.azk8s.cn/google_containers...

2020-04-20 12:54:29 1995

原创 Docker 启动Mysql

#!/usr/bin/env bashdocker run -itd --name mysql --net=host --restart=always \ -e MYSQL_ROOT_PASSWORD=XXXX \ -v /data/service/mysql/data:/var/lib/mysql \ -v /data/service/mysql/config:/etc/

2017-10-17 10:26:01 606

原创 清理Elasticsearch中过期的日志索引

使用命令主要使用$(date -d ‘-10days’ +’%Y.%m.%d’)对日志进行格式化,从而拼出需要删除的日志索引名字。curl -XDELETE http://172.16.21.101:9200/*-$(date -d '-10days' +'%Y.%m.%d')

2017-06-08 09:56:40 4759

原创 基于Gitlab实现的配置中心(支持Docker)

项目介绍项目地址: https://github.com/lipg/config-agent配置中心工具,目前支持通过http,https的方式从git中下载配置文件。gitlab支持在线Web修改文件,遂使用该方式可实现一个支持传统应用的配置中心。使用shell 脚本也可是实现该功能,但是为了提供更好的兼容性,遂使用Go专门写的Agent,不依赖与系统环境组件,如:curl、wget等。基本流程

2017-06-07 11:32:21 1605

原创 Docker+Mesos+Marathon(弹性云平台)基础选型

介绍很多大公司是有实力进行弹性云的底层开发的,但是作为一个不是那么大的公司,相比很多公司是没有那么多的人力、物力进行弹性云的底层开发,通常采用一些开源方案是更好地选择。后面我会陆陆续续对这方面做个分享的。今天先分享一个基础的选型/架构图。

2016-08-24 00:15:17 1103

原创 基于Mesos、Docker、Marathon实现的可伸缩微服务思路

前言今天主要和大家分享一个基于Mesos、Docker、Marathon进行微服务话改造的思路。服务发现在整个架构中扮演了非常重要的角色。大家都知道服务发现分为客户端服务发现与服务端服务发现。而提到服务发现又不能不提到服务注册,服务注册分为自注册方式与第三方注册方式。相信很多人已经接触过dubbo,dubbox,Zeroc Ice这些rpc框架了。就以dubbo为例,dubbo就可以使用Zookee

2016-08-05 02:36:18 3295

原创 Spring Boot 的彩色日志

我们在开发项目时经常要自定义日志存放路径,保存方式,而Spring Boot的彩色Console日志是非常好看的。 <!-- 彩色日志 --> <!-- 彩色日志依赖的渲染类 --> <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.Col

2016-08-03 16:18:44 17909 5

原创 Spring Boot默认的日志格式

在做新项目的时候,发现Spring Boot默认的日志格式还挺好看的,就把他的日志格式整理出来,好留着在以后自定义日志的时候可以使用。pattern:%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p ${PID:-} [%15.15t] %-40.40logger{39} : %m%n效果如下:2016-08-03 15:56:01.387 - INFO 1485 [

2016-08-03 16:00:54 6620 4

原创 GitLab忘记管理员密码/重置密码

还是建议大家把密码找个地方好好保存下来吧,不要像我一样…找回密码步骤 如果是以docker方式启动的,先执行docker exec -it <容器id> bash进入容器之中。执行gitlab-rails consoleuser = User.where(username: ‘root’).firstuser.password = ‘password’user.save!

2016-08-02 14:18:55 6367

原创 机械键盘(可编程键盘)无效、串键、连键问题解决偏方

我的键盘是雷蛇黑寡妇终极版,属于可编程的机械键盘,最近发生了一件奇怪的事情: 小键盘区的4键没反应,或者按4键的时候会很多键按顺序自动按下,而触发的这些键有两组,像是有两组宏,每次按键有可能触发不同的宏,但是看雷云的设置里面是没有添加任何宏的。并且我把键盘接到我的Macbook Pro上面,是一样的现象。排除了操作系统的原因。最后问题解决了,初步怀疑是操作系统问题。

2016-07-31 19:04:27 16322

转载 Java的SPI(Service Provider Interface)规范

Java的SPI(Service Provider Interface)规范:规范内容当服务的提供者,提供了服务接口的一种实现之后,在jar包的META-INF/services/目录里同时创建一个以服务接口命名的文件。该文件里就是实现该服务接口的具体实现类。而当外部程序装配这个模块的时候,就能通过该jar包META-INF/services/里的配置文件找到具体的实现类名,并装载实例化,完成模块的注入。

2016-05-23 12:38:30 1421

原创 Docker在linux中的快速安装

有一个神奇的网站 https://get.docker.com 这是docker在linux中的安装脚本。## This script is meant for quick & easy install via:# 'curl -sSL https://get.docker.com/ | sh'# or:# 'wget -qO- https://get.docker.com/ |

2016-03-07 11:47:10 681

原创 seaweedFS之Master节点挂掉导致部分Volume节点消失

今天在测试Seaweedfs时候发现一个恐怖的现象。我启动了6个Master和10个Volume。当其中一个Master挂掉的时候,会有N个Volume也看不到了。问题重现步骤配置信息Master节点配置: 六个Master节点。占用端口 9001-9006启动命令: /data/weed/bin/weed master -defaultReplication="100" -mdir="

2016-02-29 17:24:53 4256

原创 Mesosphere官方提供的安装文档

从mesos.apache.org的文档里面,安装Mesos都是编译安装的,安装过程繁琐,不适合在批量部署。最终在github中找到了Mesosphere提供的安装地址,支持centos和ubuntu。文档地址:http://mesosphere.io/downloads/需要安装哪个点击对应的Get Started即可。

2016-01-05 15:25:54 931

原创 Memcached 的静态编译(Mac OS X)

起因每次重做系统都要重新编译Memcahed等软件,还要重新配置,麻烦的要死。肯定有朋友想说了,用brew呀,小弟不是很了解brew等软件的运作,并且这对于一个使用电脑有洁癖的人来说,不能保证文件都是在自己定义的路径下是很难接受的。于是就想“为啥不能像Windows那样复制过来直接用呢?”,于是就有了静态编译Memcached的想法。 静态编译: 编译器在编译可执行文件的时候,将可执行文件需要调

2015-08-23 13:13:37 1344

原创 IntelliJ IDEA 14 注册机源码

import java.math.BigInteger;import java.util.Date;import java.util.Random;import java.util.zip.CRC32;/** * used by idea 14 */public class Keygen{ /** * @param s * @p

2015-08-15 10:30:15 1044

转载 Mac OS X 系统下多Jdk版本冲突解决

Get into /System/Library/Frameworks/JavaVM.framework/Versionsand update the CurrentJDK symbolic link to point to/Library/Java/JavaVirtualMachines/YOUR_JDK_VERSION/Contents/E.g.cd /Sy

2015-05-29 15:00:55 1337

原创 HashMap中的get方法注意事项

get方法会调用对象的hashcode方法,而Integer和Long的hashcode方法是不一样的。所以调用get方法的时候一定要匹配好key类型。

2014-03-21 14:25:24 956

原创 缓存查询列表并提供更新处理方案

package cn.com.iboyaa.ifservice.client.cache.util;import java.io.Serializable;import java.util.List;import java.util.Map;import javax.annotation.PostConstruct;import org.springframework.beans.

2014-03-21 14:18:54 1345

原创 在spring data jpa中使用redis的通用list及entity存储方法

/** * 从redis中获取对象。注意:未进行haskey检测 * * @param e * @param redis * @param KEY * @param KEY_LIST * @param INDEX * @return * @version 1.0 * @since Service

2014-02-11 11:27:59 5386

原创 memcached与redis对性能对比

Long l1 = System.currentTimeMillis(); for (int i = 0; i < 10000; i++) { client.safeSet("test" + i, "test"); } logger.debug(System.currentTimeMillis() - l1 + "memcac

2014-01-29 20:08:41 843

转载 spring aop 失效问题

在使用了SpringMvc后,如果在application.xml中配置的可能会导致切入点使用@annotation失效。这个失效原因可能在于Spring的AOP对SpringMvc有其特殊的拦截机制,即并非完全与我们自定注解机制一个管道,所以会导致失效,而解决的方法也很简单,只需要将的配置写道spring-mvc的xml配置文件中即可。

2014-01-23 12:32:18 1426

原创 Jeckson使用技巧

多看api是有好处的。记录下自己使用的配置:private static JsonMapper amapper = new JsonMapper(Include.ALWAYS); //转换所有SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //转换时日期格式amapper.getMapper()

2014-01-20 10:51:32 1370

原创 HashMap使用中注意事项

1.从HashMap中索引键值的时候使用的是哈希值。几种基本类型的包装类型都重写了哈希方法,如果是按自定义对象作为key的话,注意重写哈希方法。

2014-01-20 10:47:28 742

原创 ArrayList中的注意事项。

如果按顺序索引的话,一定要保证你的索引值是int型的,而不是Integer类型的。

2014-01-20 10:41:44 824

原创 持续集成(jenkins)中的持续发布配置.(Deploy to container Plugin插件)

参数详解:第一项(WAR/EAR files):是war包的相对路径(相对于工作区路径,即在工作区中war包的相对路径.)如我的maven执行完成之后会在工作区的target目录下生成项目.war,所以这里我的路径就写target\项目.war.第二项:(content path):tomcat的发布路径,即使用localhost/(content path设置的名字)来访问项目.最后

2013-12-16 10:09:11 10265 3

原创 shiro-ehcache在持续集成无法发布问题

开启了shiro-ehcache缓存的话,在使用jenkins做持续集成并发布项目的时候,如果载入了自己的ehcache缓存配置文件的话,可能会报告如下错误.ERROR: Publisher hudson.plugins.deploy.DeployPublisher aborted due to exceptionorg.codehaus.cargo.container.Containe

2013-12-16 09:39:59 8278 1

空空如也

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

TA关注的人

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