自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

伏念先生的博客

伏心定念,惟精惟一。

  • 博客(108)
  • 资源 (8)
  • 收藏
  • 关注

转载 负载均衡基础知识

负载均衡基础知识一、什么是负载均衡? 互联网早期,业务流量比较小并且业务逻辑比较简单,单台服务器便可以满足基本的需求;但随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台机器的性能问题以及单点问题凸显了出来,因此需要多台机器来进行性能的水平扩展以及避免单点故障。但是要如何将不同的用户的流量分发到不同的服务器上面呢? 早期的方法是使用DNS做负载,通过给客户端解析不同的IP地址,让客户端的流量直接到达各个服务器。但是这种方法有一个很大的缺点就是延时性问题,在做出调度策略改变以后,由于

2021-04-18 21:31:39 906

转载 十分钟带你理解Kubernetes核心概念

什么是Kubernetes?Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成Kubernetes内部使用的低级别组件。Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。使用Kubernetes可以:自动化容器的部署和复制 随时扩展或收缩容器规模 将容器组织成组,并且提供容器间的负载均衡 很容易地升级应用程序容器的新版本 提供容器弹性,如果

2021-01-21 21:35:59 194

转载 云原生在京东丨如何在Kubernetes上部署有状态的云原生应用?(下)

Kubernetes是云计算历史上增长最快的基础设施项目之一,通过Kubernetes可以方便地部署一套高可用、可扩展的分布式无状态服务。但是越来越多的人希望把数据库这类有状态服务也部署到Kubernetes里面,上篇文章我们介绍了在Kubernetes上部署有状态的服务的几种可行方案。本篇文章我们将以开源社区的Crunchy PostgreSQL Operator为例,带大家部署一个基本功能相对完备的PostgreSQL云服务。上期回顾点击阅读:《如何在Kubernetes上部署有状态的云原生

2020-09-06 17:37:02 398 1

转载 云原生在京东丨如何在 Kubernetes 上部署有状态的云原生应用?(上)

Kubernetes 是云计算历史上增长最快的基础设施项目之一。在短短的五年内,它已经达到了现代基础设施的成熟水平。从公有云中的托管容器即服务(CaaS)到数据中心中的平台即服务(PaaS)再到边缘计算,Kubernetes 已经无处不在。Kubernetes 的出现使得广大开发同学也能运维复杂的分布式系统,它大幅降低了容器化应用部署的门槛,用户通过它提供的 Deployment、ReplicaSet 控制器可以方便地部署一套高可用、可扩展的分布式无状态服务,这类应用的特点是不在本地存储数据,通过简单的

2020-09-06 17:30:01 139

转载 K8S容器编排之如何支持有状态服务的部署?

Kubernetes对无状态服务有完善的支持,但是对于有状态的服务,是从1.3版本开始,才逐渐支持的。有状态的应用程序  一般情况下,nginx或者web server(不包含MySQL)自身都是不需要保存数据的,对于web server,数据会保存在专门做持久化的节点上。所以这些节点可以随意扩容或者缩容,只要简单的增加或减少副本的数量就可以。但是很多有状态的程序都需要集群式的部署,意味着节点需要形成群组关系,每个节点需要一个唯一的ID(例如Kafka BrokerId,Zookeeper my..

2020-09-06 17:23:16 362

原创 ElasticSearch 升级指导

ES通常可以通过滚动升级来避免服务中断。一般情况下小版本升级,和相邻主版本的升级可以通过滚动升级来完成,具体情况需参照官方文档的升级指导。使用滚动升级的方式升级集群,若进行跨越大版本的升级,可能需要重新索引在旧版本中创建的索引,有时也许需要进行多次滚动升级和重建索引才能升级到我们需要的目标版本。除了滚动升级,我们还可以使用“集群停机升级”和“跨级群重建索引”的方式直接进行ES跨版本的升级。升级ES版本,需要同时升级ES相关的官方组件,可以使用官方提供的“交互式升级指南”获得可供参考的升级方案。.

2020-07-31 23:17:51 2576

转载 Maven中 jar包冲突原理与解决办法

Maven中jar包冲突是开发过程中比较常见而又令人头疼的问题,我们需要知道 jar包冲突的原理,才能更好的去解决jar包冲突的问题。本文将从jar包冲突的原理和解决两个方面阐述Maven中jar包冲突的解决办法。一、Maven中jar包冲突产生原因MAVEN项目运行中如果报如下错误:Caused by:java.lang.NoSuchMethodErrorCaused by: ...

2020-04-05 16:21:44 178 1

原创 Zookeeper异常记录

异常现象java.lang.NoSuchMethodError: org.apache.zookeeper.server.quorm.flexible.QuorumMaj.<init> (Ljava/util/Map;)V解决方法参考:https://blog.csdn.net/noaman_wgs/article/details/81137893?utm_so...

2020-04-05 15:14:30 577

转载 看懂 Serverless,这一篇就够了

文章目录1. 无服务器(Serverless)计算是什么 2. 理解Serverless技术---FaaS和BaaS 2.1 FaaS(Function as a Service,函数即服务) 2.2 BaaS(Backend as a Service,后端即服务) 3. 无服务器(Serverless)计算如何工作? 4. 无服务器(Serverless)适用于哪些场景?...

2020-04-05 15:05:03 249

原创 kafka __consumer_offsets

介绍kafka在0.10.x版本后默认将消费者组的位移提交到自带的topic__consumer_offsets里面,当有消费者第一次消费kafka数据时就会自动创建,它的副本数不受集群配置的topic副本数限制,分区数默认50(可以配置),默认压缩策略为compact。结构keyversion: 版本字段,不同kafka版本的version不同 group: 对应消费者...

2020-02-10 11:15:17 2017

原创 MySQL的启动和关闭

1.Windows下启动服务mysqld --console  或  net start mysql  关闭服务mysqladmin -uroot shudown  或  net stop mysql  2.Linux下启动服务service mysql start   关闭服务service mysql stop  重启服务service restart sto...

2020-02-09 19:00:25 171

原创 Oracle之rownum理解与分页查询

一、rownum的说明  rownum是oracle特有的一个关键字。  (1)对于基表,在insert记录时,oracle就按照insert的顺序,将rownum分配给每一行记录,因此在select一个基表的时候,rownum的排序是根据insert记录的顺序显示的,例如:select rownum as rn, t.* from emp t;  (2)对于子查询,则row...

2020-02-09 16:08:43 274

原创 SQL面试题:176. Second Highest Salary

https://leetcode.com/problems/second-highest-salary/description/Description+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+Copy t...

2020-02-07 23:42:42 159

原创 SQL Limit子句

LIMIT子句来限制SELECT语句返回的行数,并可指定返回数据前先跳过N行。并非所有数据库系统都支持LIMIT子句,因此,LIMIT子句仅在某些数据库系统中可用,例如MySQL,PostgreSQL,SQLite,Sybase SQL Anywhere和HSQLDB。1. SQL LIMIT子句简介要检索查询返回的行的一部分,请使用LIMIT和OFFSET子句。 以下说明了这些子句的...

2020-02-07 23:37:40 528

转载 __consumer_offsets topic的分区中有一个分区数据很多,多达1T

一、场景描述  kafka集群中有几台突然挂了,后台日志显示设备空间满了,消息无法写入__consumer_offsets topic的分区中了。查看kafka数据目录下各个文件的大小,发现__consumer_offsets topic分区中有一个分区__consumer_offsets-5数据很多,多达1T,而其他分区只有4KB,相差巨大。且__consumer_offsets-5中保留了...

2020-02-06 23:43:04 928

转载 Kafka集群磁盘使用率瞬超85%,幕后元凶竟是它?

Kafka是一种快速、可扩展的,设计内在就是分布式的、分区的和可复制的提交日志服务。作为一种高吞吐量的分布式发布订阅消息系统,Kafka被广泛的应用于海量日志的收集、存储。网上有大量Kafka架构、原理介绍的文章,本文不再重复赘述,重点谈谈Consumer Offset默认保存机制。Topic作为一类消息的逻辑集合,Kafka集群为其维护了一个分区的日志,其结构如图:Topic每个分区...

2020-02-06 23:40:46 588

原创 MySQL自定义函数(CREATE FUNCTION)

在使用MySQL的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数。自定义函数是一种与存储过程十分相似的过程式数据库对象。它与存储过程一样,都是由 SQL 语句和过程式语句组成的代码片段,并且可以被应用程序和其他 SQL 语句调用。自定义函数与存储过程之间存在几点区别:自定义函数不能拥有输出参数,这是因为自定义函数自身就是输出参数;而存储过程可以拥有输出...

2020-02-06 21:56:57 1255

转载 dbvisualizer客户端执行创建存储过程或自定义函数语句的方法

DBVisualizer这个数据库客户端工具,如果要执行存储过程或函数的话,需要在创建存储过程或函数的语句的最前面和末尾分别加上【--/】和【/】符号。--/CREATE FUNCTION B22() RETURNING VARCHAR(20) RETURN '22';END FUNCTION;/像这样,不懂的话真的坑爹,自己摸索怎么摸索得出来,摸到天黑都不行。转...

2020-02-06 21:36:03 955

原创 Jacoco 引起反射异常

Jacoco 会利用编译器在编译期间加入 JacocoData成员变量,如果使用反射循环成员变量进而拼凑set或者get方法,会产生NoSuchMethodException,建议在循环中利用isSynthetic()方法检查成员变量。Eclipse中的Coverage 插件是使用jacoco来统计单元测试的代码覆盖率,会在类中加入 JacocoData成员变量,会导致反射循环成员变量进而拼凑...

2019-12-20 11:25:41 2469 2

原创 Java 中的 i = i++ ,计算之后 i 值无变化的原因

Java 中的 i = i++ 问题int i = 0;i = i++;System.out.println(i); // 0问最后的输出结果是什么。我这两天才开始看 Java,第一眼就认为肯定是输出 1 ,但如果结果真的这么直观就不会出成笔试题了。实际运行一下,结果居然是输出 0。如果把i = i++换成i = ++i或者干脆换成i++。输出结果就是 1 了。为了完...

2019-12-08 21:38:46 1291

原创 git log命令解析

git loggit log用于查询版本的历史,命令形式如下:git log [<options>] [<since>..<until>] [[--] <path>...]这条命令有很多参数选项一、不带参数如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者、提交日期、和提交说明 如...

2019-12-08 21:22:55 1635 1

转载 git log 统计代码量

1. 按时间范围统计用户提交代码行数自2017-01-01号以来的代码提交行数:git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --since='2017-01-01' --pretty=tformat: --numstat | awk ...

2019-12-08 21:15:37 838 1

转载 sqlplus格式化输出(输出结果显示在同一行)

在sqlplus执行sql时,经常碰到显示结果,跨行输出,致使可读性很差,看起来特别乱。可通过set linesize及column命令进行调整。set linesize 设置sqlplus输出的最大行宽column 命令修改显示字段的长度或名称,如: column c1 format a20 --将列c1(字符型)显示最大宽度调整为20个字符 col...

2019-12-08 21:10:52 3340

转载 git拉取远程分支到本地

一、查看远程分支使用如下git命令查看所有远程分支:git branch -r1二、拉取远程分支并创建本地分支方法一使用如下命令:git checkout -b 本地分支名x origin/远程分支名x1使用该方式会在本地新建分支x,并自动切换到该本地分支x。采用此种方法建立的本地分支会和远程分支建立映射关系。方式二使用如下命令:git f...

2019-12-04 10:41:20 115

原创 剑指Offer:3. 数组中重复的数字

题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。解题思路一.利用HashSet1.分析利用HashSet解决,从头到尾扫描数组,每次扫描到一个数,判断当前数是否存在...

2019-12-01 21:25:43 95

原创 git mv : 重命名文件和文件夹,保留文件历史记录

命令git mv <options>… <args>…移动或重命名文件,目录或符号链接。描述git mv [-v] [-f] [-n] [-k] <source> <destination>将 <source> 重命名为 <destination> ,它必须存在,并且可以是文件,符号链接或目录。git mv [...

2019-11-19 10:36:52 7976 2

转载 Java中的锁分类

在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。公平锁/非公平锁公平锁是指...

2019-11-05 13:55:29 83

转载 Maven依赖中的scope详解

Maven的一个哲学是惯例优于配置(Convention Over Configuration), Maven默认的依赖配置项中,scope的默认值是compile,项目中经常傻傻的分不清,直接默认了。今天梳理一下maven的scope。scope的分类compile默认就是compile,什么都不配置也就是意味着compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的...

2019-09-29 16:40:00 163

原创 同步调用,异步调用,回调

同步调用在单线程方式下,计算机是一台严格意义上的冯·诺依曼式机器,一段代码调用另一段代码时,必须等待这段被调用代码执行完返回结果后,调用方才能继续往下执行。举例你 喊 你朋友吃饭 ,你朋友在忙 ,你就一直在那等,等你朋友忙完了 ,你们一起去。代码public class A { public void methodA() { System.out.println("this is...

2019-07-16 17:08:46 1051

原创 nslookup命令使用

1、nslookup作用nslookup用于查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题。nslookup是一个程序的名字,这个程序让因特网服务器管理员或任何的计算机用户输入一个主机名(举例来说,“whatis.com.cn”)并发现相应的IP地址。它也会相反的名字查找为一个你指定的 IP 住址找出主机名。2、查询a. 直接查询nslookup domain [dn...

2019-07-15 16:52:10 18009

转载 滴滴基于 ElasticSearch 的一站式搜索中台实践

ElasticSearch 是基于 Lucene 实现的分布式搜索引擎,提供了海量数据实时检索和分析能力。滴滴从 2016 年 4 月开始组建团队,解决 ElasticSearch 在使用过程中遇到的性能问题。并且,随着业务体量的发展,滴滴构建了基于 ElasticSearch 的一站式搜索平台。InfoQ 邀请到了滴滴出行高级专家工程师、QCon 全球软件开发大会(广州站)讲师张亮,请他聊聊滴滴...

2019-06-17 16:18:27 1274

转载 阿里带火的中台到底是什么?白话中台战略

作者 | 王健,ThoughtWorks首席咨询师。十多年国内外大型企业软件设计开发,团队组织转型经验。一直保持着对技术的热爱,热衷于技术分享。目前专注在企业平台化转型、中台战略规划,微服务架构与实施,大型遗留系统服务化改造,敏捷精益转型,以及DevOps和持续交付等实践在不同行业中的推广与落地。来源 | 健荐本文是王健《白话中台战略》系列文章的前三篇,包含:1、《...

2019-06-17 16:17:00 1091

原创 ElasticSearch 5.3.2源码导入IDEA

前言:gradle不同版本之间存在不兼容的情况,使用其他版本可能会报错。编译项目时,网络问题可能会导致依赖下载失败,建议用自己的网,不要用公司有限制的网。1.环境与准备工作windows 10IDEA 2018.2.5JDK 1.8.0_162Gradle 3.52.安装Gradle 3.5参考:https://gradle.org/install/gradle是免安装的,下...

2019-06-08 00:42:15 782 1

转载 System.err与System.out共用时输出乱序问题

1、System.out在JVM和操作系统都具有缓存功能,输出的东西不一定实时输出,可能积累几个字符才会一块输出2、System.err 不带缓存(默认,可修改),会实时输出,打印的东西可以立马显示在屏幕。3、如果使用了log4j的日志记录,System.err会被记入日志,System.out不会。4、JDK的解释是System.out是通常输出信息的方式,System.err是用在显示错...

2019-05-23 19:06:57 827

转载 webmagic+selenium模拟浏览器下载动态网页

现在绝大多数网页都是动态生成的,那么学习爬虫就意味着更加困难。若是静态网页,只需要了解如何连接网络和分析网页源代码提取标签信息即可,但是动态网页的话,就需要使用到一些特定的框架来爬取了。比较实用的爬取动态网页信息的其中一个工具就是selenium了。先来看看要怎样使用webmagic和selenium来模拟浏览器启动吧。import us.codecraft.webmagic.Spider;i...

2019-03-10 21:40:18 1582

原创 多节点redis集群搭建流程

多节点redis集群搭建流程环境:redis-5.0.3,suse linux 12修改配置文件bind 本地ipport 监听端口(多节点搭建使用默认端口6379,单节点多实例需修改为不同端口)daemonize yes #开启守护进程pidfile /var/run/redis_6379.pid #pidfile路径,修改为拥有操作权限的路径clust...

2019-03-08 17:29:00 384

原创 Redis概述

简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis是一个速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和5种不同...

2019-03-08 16:58:14 276

原创 ServletContextListener 实现类的contextDestroyed ()方法不执行

public void contextDestroyed(ServletContextEvent sce) { System.out.println("===========关闭spider!==========="); stopSpider(); }ServletContextListener 接口的contextDestroyed () 方...

2019-03-05 17:25:29 5805 1

转载 Linux 文件压缩命令

把/xahot文件夹打包后生成一个/home/xahot.tar.gz的文件。tar -zcvf /home/xahot.tar.gz /xahottar -zcvf 打包后生成的文件名全路径 要打包的目录zip 压缩方法:压缩当前的文件夹 zip -r ./xahot.zip ./* -r表示递归zip [参数] [打包后的文件名] [打包的目录路径]解压 unzip xahot.z...

2019-02-28 14:45:26 182

转载 shell中&&和||的用法

&amp;&amp;运算符格式command1 &amp;&amp; command2&amp;&amp;左边的命令(命令1)返回真(成功被执行)后,&amp;&amp;右边的命令(命令2)才能够被执行;换句话说,“如果这个命令执行成功&amp;&amp;那么执行这个命令”。1.命令之间使用 &amp;&amp; 连接,实现逻辑与的功能。2.只有在 &amp;&amp; 左边的命令返回

2019-02-28 13:31:11 535

java实例源码

Java学习过程中循序渐进的各种源码

2016-10-02

Java新版参考手册

新版Java参考手册,内容很全面,用着很方便

2016-10-02

C语言参考手册

中文版最新C参考手册

2016-10-02

算法经典著作

英文版的算法合集

2016-10-02

车牌定位识别

车牌定位识别,字符分割提取

2016-09-27

java记事本源码

java记事本,完整项目文件,带源码

2016-09-01

codeblocks汉化包

内有说明,亲测好用,但是是不完全汉化

2016-09-01

用链表实现通讯录

链表实现通讯录

2016-08-27

空空如也

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

TA关注的人

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