暂时未有相关云产品技术能力~
暂无个人介绍
文档通过 索引 API被索引——存储并使其可搜索。但是最开始我们需要决定我们将文档存储在哪里。正如之前提到的,一篇文档通过 _index , _type 以及 _id 来确定它的唯一性。我们可以自己提供一个 _id ,或者也使用 index API 帮我们生成一个。
想象我们正在为一个名叫 megacorp 的公司的 HR 部门制作一个新的员工名单系统,这些名 单应该可以满足实时协同工作
插件已经正式合并进官方仓库,以下使用介绍基于logstash 1.4相关版本,1.5及以后版本的使用后续依照官方文档持续更新。
syslog 可能是运维领域最流行的数据传输协议了。当你想从设备上收集系统日志的时候,syslog 应该会是你的第一选择。尤其是网络设备,比如思科 —— syslog 几乎是唯一可行的办法。
在专栏之前的几篇文章中,我们总结了缓冲池,缓存页,redo log,undo log,以及数据页和数据行在底层是如何进行存储的,后续介绍了表空间,段,区等概念。这一节比较特殊,讲述的是和Linux有关的交互原理,因为多数的mysql都是部署在linux的服务器上面,本节会简单介绍一下linux是如何处理mysql的请求的,以及linux系统会带来哪些问题
上一节提到了冷热数据分离,其实冷数据不可能是在缓冲池满的时候才会进行刷新的,而是会在LRU冷数据的尾部随机找几个缓存页刷入磁盘,他会有一个定时任务,每隔一段时间就进行刷新的操作,同时将刷新到磁盘之后的数据页加入到free链表当中。所以LRU的链表会定期把数据刷入到磁盘当中进行处理,并且在缓存没有用完的时候会清空一些无用的缓存页。
缓冲池的大小是固定的,缓冲池当然不是永远都驻留在缓冲池的,但是空闲缓冲页不够情况下如何处理呢?本节将会讨论缓冲池重要的淘汰机制:LRU的淘汰机制,后续会介绍mysql的冷热数据分离特性,最后将给出几个思考题回顾整个内容。
这一节我们来介绍缓冲池的内部结构。如果不清楚缓冲池是什么东西可以查看之前系列的第一篇文章。缓冲池最简单的理解为数据库磁盘文件在内存对应的映射,是一个十分重要的核心组件,缓冲池的内容和细节还是挺多的,这部分内容个人会限制篇幅让读者更好的消化。
本节内容讲述线上的调优手段以及压力测试的相关工具,结合一些实际的命令参数,我们将会介绍运行结果的具体含义。本节内容为大致的介绍如何压力测试和如何阅读参数,具体的运行效果需要自己部署一台机器测试,关于这部分的内容受到不同的机器影响会出现完全不同的效果,需要实际测试所以没有进行记录。
这次新开了一个个人的mysql专栏,专门用于总结mysql的一些细节以及相关的案例总结,同时也包括了一些mysql的底层实现,在后续的篇章则是根据《mysql技术内幕innodb存储引擎》(第二版)来深入了解mysql中用的最多的存储引擎的内部细节。
很久之前看过这本书,当时居然写了2万字的笔记,而且笔记按照列表的方式写的,很长但是意外的挺好理解(毕竟个人写的),所以发布这篇笔记出来。
Linux touch 的文件默认是没有可执行权限的
在 C:\Users\xxxx.ssh下面,就可以看到秘钥了,id_rsa是私钥,千万不能泄露出去,id_rsa.pub是公钥,我们需要复制公钥里面的内容
字节码指令的部分更多要和实战搭配学习和使用,所以这一节将会是简单概述字节码的相关指令内容,和class结构不同,字节码指令常见的命令是需要了解的,虽然我们很多时候并不需要研究底层字节码的指令,但是譬如动态语言的支持就是通过新增字节码指令完成的。
上文讲到了Shenadoah收集器,这一节我们来讲一下ZGC收集器,ZGC收集器是JDK11之后由Oracle官方开发的一款低延迟垃圾收集器。另外这里吐槽一句ZGC的内容非常复杂并且知识点巨多,所以建议泡杯茶边喝边看。
这一节我们来讨论对象分配内存的细节,这一块的内容相对比较简单,但是也是比较重要的内容,最后会总结书里面的OOM的溢出案例,在过去的文章已经讲到过不少类似的情况。
Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有弹性的模块化程序。Go 编译到机器码非常快速,同时具有便利的垃圾回收和强大的运行时反射。它是快速的、静态类型编译语言,但是感觉上是动态类型的,解释型语言。
这一节来专门讨论一下HotSpot的算法的细节内容,内容说难也不难,说容易也确实不容易,有很多要理解的内容,个人在写这次文章的时候,有了更深的理解。
日期和时间的组合表示:合并表示时,要在时间前面加一大写字母T,如要表示北京时间2004年5月3日下午5点30分8秒,可以写成2004-05-03T17:30:08+08:00或20040503T173008+08。
没错,这又是一个新的专栏,JAVA8可以说是JAVA划时代的一个版本,几乎是让JAVA焕发了第三春(第二春在JDK5),当然里面的新特性也是十分重要的,虽然Java现在都已经到了10几的版本,但是国内多数使用的版本还是JAVA8,所以这个系列将会围绕Java8的新特性和相关工具做一些总结。希望对大家日常学习和工作中有所帮助。
一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口;
这里给堆分配了20M的内存空间,新生代分配10M,同时打印GC信息,新生代的分配比例为8:1:1,最后使用serrial收集器。注意是serrial收集器。
在线教育平台的压力来自于哪里?首先孩子白天需要上学同时家长也需要上班,所以白天的访问量不会很大,同时主要的业务也不在在线教育平台处理。但是一旦到了晚上,机器的压力就上来了,同时孩子也会在线进行听课上课,这时候用户量会暴增,会有上万人同时在线听课。这时候可以发现在线教育平台的压力在于直播,而直播的流量高峰在于课堂的互动环节,为什么是互动环节呢,因为孩子不喜欢枯燥的课堂,为了带动课堂氛围,课堂中的游戏一定是活跃气氛的关键,也是系统压力的核心,这时系统需要记录各种数据,比如活动时长,得分,积分奖励等等,同时也会出现大量的对象分配,为了保证直播的流畅,系统要求十分低的延迟响应时间。
上一篇通过案例说明了老年代的常见优化和处理方式,这一节来看下目前最为热门的G1收集器,G1收集器也是JDK9服务端默认的垃圾收集器,虽然JDK9在现在看来还不是十分的普及,但是学习这个垃圾收集器是十分重要也是十分必要的。
通过前面的文章可以了解到JVM优化中老年代的FULL GC对于系统以及垃圾收集器的行为有着十分大的影响,比如CMS并发标记或者回收撑不住的时候要暂停用户线程并且呼叫serrial收集器帮忙进行单线程的高效回收的动作,但是也伴随着"漫长"的stop world时间。
这是一篇JVM的基础篇章,大致内容为讲解JVM的入门以及初级知识,重点在于关注JVM在日常运行中充当的角色以及如何加载一个Java程序直到程序结束的整个流程梳理。
本身实现一个专门操作系统。运行在自家Hypervisor系统上
我们都知道我们进行web请求的时候,使用浏览器是可以获取到当前机器的访问信息的,目前市面上也有不少的工具或者API可以方便快速的获取用户的浏览器动态信息。整个过程比较简单,这里作为一次笔记进行简单记录。
JVM的对象分配策略是面试的中经常会碰到的点,也是学习和了解虚拟机必须迈过的一个坎。本文并不是单纯的总结书中的内容,在个人针对书中的案例进行实验的时候,发现结果居然和书中的结果不匹配,所以抽了不少时间专门研究了一下这一块,下面根据个人的学习和总结来描述一下个人对于JVM对象分配策略的解读。
【ipad】xmind使用快捷键技巧
Feign是一个声明性web服务客户端。它使编写web服务客户机更加容易,要使用Feign,需要创建一个接口并对其进行注释。它具有可插入注释支持,包括Feign注释和JAX-RS注释。
最近在做业务功能的时候,拿到一个非常"简单"的需求,把一个 30万行的数据文件按照特定的格式进行入库,文件格式和字段的内容都有对应的规定。这种需求其实还算比较常见,通常这一类需求不管系统配置多么强悍,都不可能无脑的读取插入。趁着这个需求搜集了一下几种常见的做法。下面就来介绍一下解决这种大数据文件的常用套路。
这次的文章出现也是因为这样一个类似的需求,个人需要把一个30万行(后续会发文介绍常见的处理手段)的数据文件入库,同时需要将部分字段迁移到另一张表,两个表之间通过两个字段进行and匹配。
这篇文章简单记录一下如何通过navicat备份一整个数据库留个记录,节省后面百度的时间。
在加载测试期间不要使用“查看结果树”或“查看结果”表监听器,只能在脚本阶段使用它们来调试脚本。
准备一个springBoot项目,或者找一个可以访问的接口,当然最好不要访问一些外网IP,容易误认为攻击封IP
顾名思义:压力测试,就是 被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况)
校验参数在以前基本都是使用大量的if/else,稍微方便一点的可以使用反射+自定义注解的形式,但是复用性不是很好,并且每个人对于的自定义注解有着自己的使用习惯,不过好在spring开发了validated框架用于注解校验,可以节省很多的校验ifelse代码,这篇文章通篇介绍了如何使用spring validated。
下面这种模板是单个接口的适合很实用,同时针对一些比较简单的接口这样处理还算比较直观
需要保证指定的路径对于redis来说是可写的,意味着如果当前目录没有写权限同样会失败
今天学习和总结了一下maven的相关知识点,发现一些比较基础的东西居然也会忘记,这里对于一些日常工作中可能会遇到的问题进行了一下汇总。
大家在拿站时应该碰到过。root用户的mysql,只可以本地连,对外拒绝连接。
neo4j 这个东西在国内用的很少,目前能百度的资料也是很早之前的几篇了,我针对neo4j 3.5 的版本进行一次学习和记录,以及实际的工作需求我也遇到了,后续会开源一个剔除业务的开源项目,有兴趣的读者可以了解一下图数据库的中间件,还是蛮有意思的。
在可视化界面,输入return apoc.version() ,如果报错说明没安装对,显示如下页面,证明apoc 插件安装成功
私服是在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven 需要下载jar包时,先请求私服,私服上如果存在则下载到本地仓库。否则,私服直接请求外部的远程仓库,将jar包下载到私服,再提供给本地仓库下载。
我们可以打开typera的软件或者打开一个md 文件用typera 打开方式即可
由于购买的是国外的域名,DNS解析较慢
上面就是所有的图床使用了,可以看到图床的选择还是很多的,这里不推荐渣浪的库来存自己的图片,比较推荐使用稳定的SM.MS或者路过图床这种比较稳定而且运行时间比较久的网站,并且对于使用用户有比较好的支持
简单记录RocketMq的JDK8以上版本的编译问题,在RocketMq的github - issue里面讨论还挺多的。
首先注意本次讨论的RokcetMq源码版本为 4.9.4,距离5.0发布 的没有多久。 这一节针对RocketMq的生产者请求发送的部分细节进行阐述,主要包含了下面的内容:DefaultMQProducer 为生产者默认对象,这个对象继承自 ClientConfig,里面包含了请求者的通用配置,所以可以拆分为两个部分进行理解,第一部分为ClientConfig,第二部分为DefaultMQProducer。