自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

曹洪双

Step after step the ladder is ascended

  • 博客(132)
  • 收藏
  • 关注

转载 Java子父类的加载和执行顺序

看了网友的子父类静态变量、静态代码块、构造代码块、构造方法的执行代码分析现结合亮哥讲解的子父类加载执行流程,自己写了一个验证代码,望各位大神指点首先,加载执行流程:1、在栈内存空间中开辟一个空间给引用数据类型变量b用2、加载父类.class字节码文件 ——> 父类的静态内容进方法区的静态区 ——> 开辟静态成员变量空间,并显示初始化。执行静态代码块(静态成员变量与静态代码块的执行顺序与代码顺序有关)3、加载子类.class字节码文件 ——> 子类的静态内容进方法区的静态区...

2020-07-23 16:16:53 549

转载 K8S 内部服务调用域名解析超时

K8S 内部服务调用域名解析超时本文摘选自:https://zhuanlan.zhihu.com/p/145127061前言近期线上 k8s 时不时就会出现一些内部服务间的调用超时问题,通过日志可以得知超时的原因都是出现在域名解析上,并且都是 k8s 内部的域名解析超时,于是直接先将内部域名替换成 k8s service 的 IP,观察一段时间发现没有超时的情况发生了,但是由于使用 service IP 不是长久之计,所以还要去找解决办法。复现一开始运维同事在调用方 pod 中使用ab工

2020-07-02 15:18:26 2475

转载 基于springboot项目部署skywalking 6.0.0.GA

百度的,似乎总是得不到自己想要的,即便只是一些基础的东西读前须知1、在读文之前,强烈建议看一遍如下链接的概述部分!!!https://juejin.im/entry/5a6e491a6fb9a01cbb395ea22、以下仅是基本的安装方法,具体的还请参照官方文档;另外,请参照英文文档,中文文档缺失步骤一,下载SkyWalking:http://skywalking.apache.org/downloads/解压缩后得到主目录如下(有几次我下载错误,得到的不是下面所展示的内容):在这里

2020-05-13 17:13:35 915

转载 kubernetes(k8s)PV的使用

概念PV 的全称是:PersistentVolume(持久化卷),是对底层的共享存储的一种抽象,PV 由管理员进行创建和配置,它和具体的底层的共享存储技术的实现方式有关,比如 Ceph、GlusterFS、NFS 等,都是通过插件机制完成与共享存储的对接。NFS方式1、关闭防火墙$ systemctl stop firewalld.service$ systemctl d...

2020-01-17 11:48:50 2316

转载 kubernetes(k8s) jenkins CI/CD(动态创建slave)

jenkins CI/CD(动态创建slave)简述:持续构建与发布是我们日常工作中必不可少的一个步骤,目前大多公司都采用 Jenkins 集群来搭建符合需求的 CI/CD 流程,然而传统的 Jenkins Slave 一主多从方式会存在一些痛点,比如:主 Master 发生单点故障时,整个流程都不可用了 每个 Slave 的配置环境不一样,来完成不同语言的编译打包等操作,但是这些差异化...

2020-01-17 11:47:43 1008

转载 RabbitMQ基础概念详细介绍

引言你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的RabbitMQ就是当前最主流的消息中间件之一。RabbitMQ简介...

2019-12-04 15:24:15 181

转载 Java泛型类型擦除以及类型擦除带来的问题

目录1.Java泛型的实现方法:类型擦除 1-2.通过两个例子证明Java类型的类型擦除 2.类型擦除后保留的原始类型 3.类型擦除引起的问题及解决方法 3-1.先检查,再编译以及编译的对象和引用传递问题 3-2.自动类型转换 3-3.类型擦除与多态的冲突和解决方法 3-4.泛型类型变量不能是基本数据类型 3-5.运行时类型查询 3-6.泛型在静态方法和静态类...

2019-09-28 17:17:36 213

转载 k8s之ingress及ingress controller

1.ingress概述图解:第一个service起到的作用是:引入外部流量,也可以不用此方式,以DaemonSet控制器的方式让Pod共享节点网络,第二个service的作用是:对后端pod分组,不被调度时使用,如果后端pod发生变动,则ingress就会将变动信息注入到,ingress controller管理的7层负载nginx的配置文件中.2.部署 1 2 ...

2019-09-20 18:53:55 652

转载 docker笔记26-ingress资源和ingress controller

Ingress:就是能利用 Nginx(不常用)、Haproxy(不常用)、Traefik(常用)、Envoy(常用) 啥的负载均衡器暴露集群内服务的工具。 Ingress为您提供七层负载均衡能力,您可以通过 Ingress 配置提供外部可访问的 URL、负载均衡、SSL、基于名称的虚拟主机等。作为集群流量接入层,Ingress 的高可靠性显得尤为重要。小知识:我们把k...

2019-09-20 18:52:11 386

转载 Centos7.4下Elasticsearch-6.7集群安装配置

环境:CentOS Linux release 7.4.1708 (Core)jdk 1.8节点1:192.168.1.11节点2:192.168.1.13节点3:192.168.1.14es安装包下载地址https://www.elastic.co/products/1、安装Elasticsearch,并配置集群安装好jdk1.8[root@k1 ~]# rpm -i...

2019-09-05 13:57:49 328

转载 ElasticSearch+kibana+logstash监控和分析系统

系统环境[root@iZ ~]# uname -aLinux iZ 3.10.0-514.6.2.el7.x86_64 #1 SMP Thu Feb 23 03:04:39 UTC 2017 x86_64 x86_64 x86_64 GNU/Linuxjava版本事先安装了[root@i /]# java -versionjava version "1.8.0_111"Java(TM)...

2019-08-27 11:28:03 362

转载 震惊,ES与MySQL竟可以这样亲密无间!

前言MySQL是目前最受欢迎的关系型数据库之一,其方便的接口和灵活的应用方式极大地提高了程序猿们开发效率。但是,玩儿数据库的宝宝都不可避免地会遇到一个问题,当数据库中的记录不断增多,其查询速度会变慢,尤其是对中文的模糊查询(建立普通索引完全不起作用)。虽然mysql5.7版本以上支持中文的全文索引,依然感觉很鸡肋。那mysql自身搞不定了,可以找帮手啊。ES(Elasticsearch)是目前...

2019-08-27 11:01:55 8715 2

转载 面试必问的CAS

概述CAS(Compare-and-Swap),即比较并替换,是一种实现并发算法时常用到的技术,Java并发包中的很多类都使用了CAS技术。CAS也是现在面试经常问的问题,本文将深入的介绍CAS的原理。案例介绍CAS之前,我们先来看一个例子。上面这个例子在volatile关键字详解文中用过,我们知道,运行完这段代码之后,并不会获得期望的结果,而且会发现每次运行程序,输出的结果都不一...

2019-05-22 11:30:35 134

转载 安装jenkins时遇到ERROR: No Java executable found in current PATH: /bin:/usr/bin:/sbin:/usr/sbin的问题

1.安装按照官网推荐步骤(Ubuntu系统):wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jen...

2019-05-16 17:13:50 2382

原创 使用yaml文件创建deployment

1.Jenkinsfile// 需要在jenkins的Credentials设置中配置jenkins-harbor-creds、jenkins-k8s-config参数pipeline { agent any environment { HARBOR_CREDS = credentials('jenkins-harbor-creds') K8S...

2019-05-13 14:09:12 1976

转载 采用jenkins pipeline实现自动构建并部署至k8s

前言在日常开发中,经常会有发布的需求,而且经常会碰到各种环境,比如:开发环境、测试环境、生产环境。虽然可以使用手动构建、上传服务器部署的方式,但在微服务架构下一个项目经常包含多个微服务的部署,如果用手动方式就会非常繁琐而且容易出错。使用jenkins结合SCM可以实现代码的整个自动化构建部署过程。本文中自动构建部署过程大致完成了以下步骤:提交spring boot项目代码并打上git ...

2019-05-13 11:51:52 6796

转载 tomcat内部结构及请求原理(转)

Tomcat是一个JSP/Servlet容器。其作为Servlet容器,有三种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。Tomcat的组织结构Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的是Catalina servlet容器,其他组件按照一定的格式要求配置在这个顶层容器中。Tomcat的各种组件都是在Tom...

2019-03-26 17:03:47 313

转载 tomcat性能优化

Tomcat在各位JavaWeb从业者常常就是默认的开发环境,但是Tomcat的默认配置作为生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈.幸好Tomcat还有很多的提升空间.下文介绍一下Tomcat优化,可以分为内存,线程,IO.一:Tomcat内存优化,启动时告诉JVM我要一块大内存(调优内存是最直接的方式)Windows 下的catalina.batLinux...

2019-03-26 16:02:39 116

转载 手写SpringMVC框架(简易版)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yaluoshan/article/details/80768258SpringMVC简介SpringMVC是当前最优秀的MVC框架,自从Spring 2.5版本发布后,由于支持注解配置,易用性有了大幅度的提高。Spring 3.0更加完善,实现了对Struts 2的超越。现在越来越多的开...

2019-03-15 18:08:53 229

转载 手写SpringMVC源码

项目依赖<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope&amp

2019-03-13 16:19:40 129

转载 Java实现动态代理的两种方式

一般而言,动态代理分为两种,一种是JDK反射机制提供的代理,另一种是CGLIB代理。在JDK代理,必须提供接口,而CGLIB则不需要提供接口,在Mybatis里两种动态代理技术都已经使用了,在Mybatis中通常在延迟加载的时候才会用到CGLIB动态代理。1.JDK动态代理:public interface Rent { public void rent();}publi...

2019-03-13 16:16:09 229

转载 多线程中的ThreadLocal 详解

要了解ThreadLocal,首先搞清楚ThreadLocal 是什么?是用来解决什么问题的?ThreadLocal 是线程的局部变量, 是每一个线程所单独持有的,其他线程不能对其进行访问, 通常是类中的 private static 字段,是对该字段初始值的一个拷贝,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联我们知道有时候一个对象的变量会被多个线程所访问,这时就会有...

2019-03-08 11:27:18 137

原创 微服务CICD- jenkins + gitlab + webhooks + publish-over-ssh

jenkins服务器:10.211.55.4 应用服务器:10.211.55.3一、jenkins安装publish-over-ssh安装插件过程同前。二、建立ssh信任(这也就是ssh的原理)1、jenkins生成密钥对在jenkins服务器执行ssh-keygen -t rsa -C "[email protected]"此时,在~/.ssh/目录下会生成id_...

2019-03-01 17:03:41 480

转载 基于kubernetes集群部署DashBoard

1、yaml文件  编辑dashboard.yaml,注意或更改以下红色部分:apiVersion: extensions/v1beta1kind: Deploymentmetadata:# Keep the name in sync with image version and# gce/coreos/kube-manifests/addons/dashboard counte...

2019-02-26 13:09:13 182

转载 K8S基础概念

一、核心概念1、NodeNode作为集群中的工作节点,运行真正的应用程序,在Node上Kubernetes管理的最小运行单元是Pod。Node上运行着Kubernetes的Kubelet、kube-proxy服务进程,这些服务进程负责Pod的创建、启动、监控、重启、销毁、以及实现软件模式的负载均衡。Node包含的信息:Node地址:主机的IP地址,或Node ID。 Node的运...

2019-02-21 11:37:06 132

原创 Java8新特性——StreamAPI(一)

1. 流的基本概念1.1 什么是流?流是Java8引入的全新概念,它用来处理集合中的数据,暂且可以把它理解为一种高级集合。众所周知,集合操作非常麻烦,若要对集合进行筛选、投影,需要写大量的代码,而流是以声明的形式操作集合,它就像SQL语句,我们只需告诉流需要对集合进行什么操作,它就会自动进行操作,并将执行结果交给你,无需我们自己手写代码。因此,流的集合操作对我们来说是透明的,我们只需向...

2019-02-11 10:24:58 115

转载 Java8 新特性之流式数据处理

一. 流式处理简介在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现。比如我们希望对一个包含整数的集合中筛选出所有的偶数,并将其封装成为一个新的List返回,那么在java8之前,我们需要通过如下代码实现:List<Integer> evens = new ArrayList&...

2019-01-30 16:15:06 123

转载 基于 Jenkins 的 CI/CD(二)

Jenkins P ip eline 介绍要实现在 Jenkins 中的构建工作,可以有多种方式,我们这里采用比较常用的 Pipeline 这种方式。Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程 编排 和 可视化 的工作。Jenkins Pipeline 有几个核心概念:Nod...

2019-01-14 14:21:13 4924 1

转载 gitlab+jenkins的搭建

搭建环境:两台centos6.7 64位一 gitlab的安装  gitlab代码管理仓库:  1、按照gitlab 官方提供的文档,安装如下包:[root@node02 ~ 10:13:35]#yum install curl policycoreutils openssh-server openssh-clients postfix2、启动postfix 和sshd 服务:...

2019-01-11 14:44:19 2335

转载 三、完整集群部署 - kubernetes-with-ca

1. 理解认证授权1.1 为什么要认证想理解认证,我们得从认证解决什么问题、防止什么问题的发生入手。防止什么问题呢?是防止有人入侵你的集群,root你的机器后让我们集群依然安全吗?不是吧,root都到手了,那就为所欲为,防不胜防了。其实网络安全本身就是为了解决在某些假设成立的条件下如何防范的问题。比如一个非常重要的假设就是两个节点或者ip之间的通讯网络是不可信任的,可能会被第三方窃取,...

2018-12-28 15:37:23 155

转载 二、基础集群部署 - kubernetes-simple

1. 部署ETCD(主节点)1.1 简介  kubernetes需要存储很多东西,像它本身的节点信息,组件信息,还有通过kubernetes运行的pod,deployment,service等等。都需要持久化。etcd就是它的数据中心。生产环境中为了保证数据中心的高可用和数据的一致性,一般会部署最少三个节点。我们这里以学习为主就只在主节点部署一个实例。如果你的环境已经有了etcd服务...

2018-12-28 15:35:10 156

转载 一、预先准备环境

1. 准备服务器这里准备了三台ubuntu虚拟机,每台一核cpu和2G内存,配置好root账户,并安装好了docker,后续的所有操作都是使用root账户。虚拟机具体信息如下表:系统类型 IP地址 节点角色 CPU Memory Hostname ubuntu16.04 192.168.1.101 worker 1 2G se...

2018-12-28 15:33:58 181

转载 Get https://192.168.12.178/v2/: dial tcp 192.168.12.178:443: connect: connection refused

http: server gave HTTP response to HTTPS client & Get https://192.168.2.119/v2/: dial tcp 192.168.2.119:443: getsockopt: connection refused http: server gave HTTP response to HTTPS client出现这问题...

2018-12-28 13:56:41 46521 5

转载 Harbor:私有企业级Registry仓库--快速搭建

   Harbor可以通过Docker Composer的方式来部署,如果有正常运行的k8s环境,也可以使用k8s来部署Harbor,本文采用 Docker Composer的方式。 准备  假定Linux系统为Centos 7。docker ,默认安装即可yum -y install docker1docker compose ,安装最新版curl -L https://g...

2018-12-28 11:17:57 438

转载 企业级镜像管理系统Harbor

Harbor简介在说harbor之前,我们首先说一说直接使用docker registry的一些缺陷:缺少认证机制,任何人都可以随意拉取及上传镜像,安全性缺失 缺乏镜像清理机制,镜像可以push却不能删除,日积月累,占用空间会越来越大 缺乏相应的扩展机制鉴于以上缺点,我们通常在生产环境中,不会直接使用docker registry来实现提供镜像服务。而Harbor正好解决了上述所有的...

2018-12-28 11:14:25 330

转载 Zookeeper选举算法原理(摘选)

一、前言  前面学习了Zookeeper服务端的相关细节,其中对于集群启动而言,很重要的一部分就是Leader选举,接着就开始深入学习Leader选举。二、Leader选举2.1 Leader选举概述  Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一台服务器出现以下两种情况之一时,需要进入Leader选举。  (1) 服务器初始化启动。  ...

2018-11-30 15:23:53 215

转载 Zookeeper工作原理(详细)

1、Zookeeper的角色  » 领导者(leader),负责进行投票的发起和决议,更新系统状态  » 学习者(learner),包括跟随者(follower)和观察者(observer),follower用于接受客户端请求并想客户端返回结果,在选主过程中参与投票  » Observer可以接受客户端连接,将写请求转发给leader,但observer不参加投票过程,只同步leader的...

2018-11-29 16:15:08 142

原创 kubernetes启动pod,pod状态一直不正常

kubernetes启动pod,pod状态一直不正常,查看pod状态显示  image pull failed for registry.access.redhat.com/rhel7/pod-infrastructure:latest, this may be because there are no credentials on this request.  details: (open ...

2018-11-13 11:56:27 601

原创 k8s 安装报错details: (open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file or

http://blog.51cto.com/12482328/2120035 其中最主要的问题是:details: (open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file or directory)解决方案:查看/etc/docker/certs.d/registry.acce...

2018-10-30 14:23:02 281

原创 Centos7 下Kubernetes集群安装部署

版权声明:本文为博主原创文章,未经博主允许不得转载。    https://blog.csdn.net/bobpen/article/details/78958675操作环境网络拓扑图、操作环境:k8s-master:OS:[root@k8s-master ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708...

2018-10-29 18:23:19 259

空空如也

空空如也

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

TA关注的人

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