<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[psiitoy的专栏]]></title><description><![CDATA[温暖的大狗]]></description><link>https://blog.youkuaiyun.com/psiitoy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; psiitoy]]></copyright><item><title><![CDATA[[转]MySQL的优化(二) —— SQL语句优化]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/106890534</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/106890534</guid><author>psiitoy</author><pubDate>Sun, 21 Jun 2020 20:23:34 +0800</pubDate><description><![CDATA[一、EXPLAIN

做MySQL优化，我们要善用 EXPLAIN 查看SQL执行计划。

下面来个简单的示例，标注(1,2,3,4,5)我们要重点关注的数据




	type列，连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别
	
	
	key列，使用到的索引名。如果没有选择索引，值是NULL。可以采取强制索引方式
	
	
	key_len列，索引长度
	
	
	rows列，扫描行数。该值是个预估值
	
	
	extra列，详细说明。注意常见的不太友好的值有：Using file]]></description><category></category></item><item><title><![CDATA[[转]云原生概述]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/106725770</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/106725770</guid><author>psiitoy</author><pubDate>Fri, 12 Jun 2020 23:43:16 +0800</pubDate><description><![CDATA[1. 什么是云原生

1.1 CNCF组织

在讲云原生之前，我们先了解一下CNCF，即云原生计算基金会，2015年由谷歌牵头成立，基金会成员目前已有一百多企业与机构，包括亚马逊、微软。思科等巨头。



cncf

目前CNCF所托管的应用已达14个，下图为其公布的Cloud Native Landscape，给出了云原生生态的参考体系。





Cloud Native Landscape

1.2 云原生

CNCF给出了云原生应用的三大特征：

容器化封装：以容器为基础，提高整体开发水平，形成代.]]></description><category></category></item><item><title><![CDATA[每月改掉一个坏习惯，遇见更好的自己]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/78037580</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/78037580</guid><author>psiitoy</author><pubDate>Wed, 20 Sep 2017 10:11:34 +0800</pubDate><description><![CDATA[每月改掉一个坏习惯，遇见更好的自己

by 用时间酿酒




-1-

有人说，人生不过是无数习惯的总和。




查尔斯·杜希格在《习惯的力量》中写道：「人每天的活动中，有超过40%是习惯的产物，而不是自己主动的决定。虽然每个习惯的影响相对来说比较小，但是随着时间的推移，这些习惯综合起来却对我们的人生有着巨大的影响。」




甚至可以说，一个人习惯的优劣]]></description><category></category></item><item><title><![CDATA[谈技术资料的阅读方法]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/78029752</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/78029752</guid><author>psiitoy</author><pubDate>Tue, 19 Sep 2017 14:34:34 +0800</pubDate><description><![CDATA[作为一名程序员，有几种获取知识的渠道，比如本文将要讨论的技术书籍、开源代码、学术论文。这些可能都不是什么秘密，但每个人都有不同的方式和习惯，也就对应有不同的效果和效率。本文就分享下自己这些年来的一些经验，不一定适用每个人，但也许每个人能有些小的触动和收获。


1.技术书籍

可能程序员都很少读书，因为这个时代就是这样的特点，读书的人在减少。大家更多地从工作日常获得知识，对于程序员来说比]]></description><category></category></item><item><title><![CDATA[[总结]jvm总结]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/78027299</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/78027299</guid><author>psiitoy</author><pubDate>Tue, 19 Sep 2017 10:38:49 +0800</pubDate><description><![CDATA[jvm总结，涉及到JVM结构，垃圾回收，类加载机制等。一、JVM简介1.1 结构概括
下面分别给出中-英文的结构图如上图所示，首先Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀)， 
然后由JVM中的类加载器加载各个类的字节码文件，加载完毕之后，交由JVM执行引擎执行。在整个程序执行过程中， 
JVM会用一段空间来存储程序执行期间需要用到的数据和相关信息，这]]></description><category></category></item><item><title><![CDATA[每天一个linux命令目录]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/77869332</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/77869332</guid><author>psiitoy</author><pubDate>Wed, 06 Sep 2017 17:39:19 +0800</pubDate><description><![CDATA[开始详细系统的学习linux常用命令，坚持每天一个命令，所以这个系列为每天一个linux命令。学习的主要参考资料为：
　　1.《鸟哥的linux私房菜》
　　2.http://codingstandards.iteye.com/blog/786653
　　3.linux命令五分钟系列 
　　4.其他互联网资料，google，baidu等搜索引擎
一. 文件目录操作命令：
     1.]]></description><category></category></item><item><title><![CDATA[日志结构的合并树 The Log-Structured Merge-Tree]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/77840359</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/77840359</guid><author>psiitoy</author><pubDate>Mon, 04 Sep 2017 18:21:40 +0800</pubDate><description><![CDATA[近年来，随着互联网数据的日益增长，管理分布式数据需求的日益增加，Bigtable[1]等一系列NoSQL数据库开始涌现。Bigtable是一个分布式的结构化数据存储系统，它被设计用来处理海量数据，其在提供Tablet服务时使用内存中的memtable和GFS[2]中的SSTable来相互配合着来存储数据更新，其中存储和更新的方法与日志结构的合并树[3]（Log-Structured
 Merge]]></description><category></category></item><item><title><![CDATA[NoSql中的B-tree、B+tree和LSM-tree]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/77774804</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/77774804</guid><author>psiitoy</author><pubDate>Fri, 01 Sep 2017 16:42:52 +0800</pubDate><description><![CDATA[首先来回答一个问题：为什么在磁盘中要使用b+树来进行文件存储呢？
原因还是因为树的高度低得缘故，磁盘本身是一个顺序读写快，随机读写慢的系统，那么如果想高效的从磁盘中找到数据，势必需要满足一个最重要的条件：减少寻道次数。
我们以平衡树为例进行对比，就会发现问题所在了：


先上个图




 
这是个平衡树，可以看到基本上一个元素下只有两个子叶节点
 
 
抽象的来看，树]]></description><category></category></item><item><title><![CDATA[zookeeper核心原理（选举）]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/77773606</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/77773606</guid><author>psiitoy</author><pubDate>Fri, 01 Sep 2017 15:23:57 +0800</pubDate><description><![CDATA[1、前述
上篇文章《hadoop系列：zookeeper（1）——zookeeper单点和集群安装》（http://www.lai18.com/content/599370.html）我们介绍了zookeeper的两种安装方式，相信您的测试机或者VM上面已经有了一个可用的zookeeper环境了。本文是zookeeper讲解的第二篇文章，我们主要介绍zk中的重要基本原理。为后文给大家讲解zk的j]]></description><category></category></item><item><title><![CDATA[[总结]数据结构之jcf(java集合框架)]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/77771991</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/77771991</guid><author>psiitoy</author><pubDate>Fri, 01 Sep 2017 13:47:00 +0800</pubDate><description><![CDATA[本文比较全面的集中整理，总结了java集合框架jcf(Java Collection Framework)。一、前言1.1 数据结构分类
数据元素相互之间的关系称为结构。有四类基本结构：集合、线性结构、树形结构、图状结构。
1) 集合结构: 
* 一组对象，无其他特点。 
2) 线性结构: 
* 元素之间存在一对一关系常见类型有: 数组,链表,队列,栈。
  它们之间在操作上有所区别.例如:链表可在]]></description><category></category></item><item><title><![CDATA[ActorLite：一个轻量级Actor模型实现（下）]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/77562898</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/77562898</guid><author>psiitoy</author><pubDate>Fri, 25 Aug 2017 10:25:19 +0800</pubDate><description><![CDATA[ActorLite：一个轻量级Actor模型实现（下）
2009-05-16 17:52 by 老赵, 22867 visits

在上一篇文章中，我们实现了一个简单的Actor模型。如果要构建一个Actor，便只是简单地继承Actor类型并实现其Receive方法即可。在上次文章的末尾，我们使用C#演示了该Actor模型的使用。不过现在我们将尝试一下F#。

C#使用Actor模型的缺]]></description><category></category></item><item><title><![CDATA[ActorLite：一个轻量级Actor模型实现（中）]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/77562714</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/77562714</guid><author>psiitoy</author><pubDate>Fri, 25 Aug 2017 10:24:22 +0800</pubDate><description><![CDATA[ActorLite：一个轻量级Actor模型实现（中）
2009-05-14 09:29 by 老赵, 25714 visits

从上一篇文章的反响来看，似乎大家对于这一话题并没有太大兴趣。而这篇文章将会为大家带来一个简单但完整的Actor模型实现。此外，在下一篇文章中……可能会出现一些让您觉得有趣的东西。:)

任务分配逻辑
如上文所述，这次要实现的是一个非常简单的Actor模型，]]></description><category></category></item><item><title><![CDATA[ActorLite：一个轻量级Actor模型实现（上）]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/77562121</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/77562121</guid><author>psiitoy</author><pubDate>Fri, 25 Aug 2017 10:21:55 +0800</pubDate><description><![CDATA[Actor模型

Actor模型为并行而生，具Wikipedia中的描述，它原本是为大量独立的微型处理器所构建的高性能网络而设计的模型。而目前，单台机器也有了多个独立的计算单元，这就是为什么在并行程序愈演愈烈的今天，Actor模型又重新回到了人们的视线之中了。Actor模型的理念非常简单：天下万物皆为Actor，Actor之间通过发送消息进行通信。Actor模型的执行方式有两个特点：

每]]></description><category></category></item><item><title><![CDATA[Spark为何使用Netty通信框架替代Akka]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/77530886</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/77530886</guid><author>psiitoy</author><pubDate>Thu, 24 Aug 2017 15:48:54 +0800</pubDate><description><![CDATA[转自：http://www.aboutyun.com/thread-21115-1-1.html
问题导读：


1. spark 如何在1.6.0之后使用Netty替代了Akka？
2. Spark Network Common怎么实现？
3. BlockTransfer 与 Shuffle 之间的联系？
4. Akka 实现原理是什么？





解决方案：

一]]></description><category></category></item><item><title><![CDATA[防雪崩利器：熔断器 Hystrix 的原理与使用]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/77065922</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/77065922</guid><author>psiitoy</author><pubDate>Thu, 10 Aug 2017 17:27:53 +0800</pubDate><description><![CDATA[前言

分布式系统中经常会出现某个基础服务不可用造成整个系统不可用的情况, 这种现象被称为服务雪崩效应. 为了应对服务雪崩, 一种常见的做法是手动服务降级. 而Hystrix的出现,给我们提供了另一种选择.

服务雪崩效应的定义

服务雪崩效应是一种因 服务提供者 的不可用导致 服务调用者 的不可用,并将不可用 逐渐放大 的过程.如果所示:



上图中, A为服务提供者, B]]></description><category></category></item><item><title><![CDATA[Elasticsearch源码分析十四--搜索类型]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/74470237</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/74470237</guid><author>psiitoy</author><pubDate>Wed, 05 Jul 2017 18:07:48 +0800</pubDate><description><![CDATA[简介query_then_fetchquery_and_fetchdfs_query_and_fetchdfs_query_then_fetchcountscan


简介
Elasticsearch允许通过指定搜索类型来选择查询在内部如何处理。不同的搜索类型适合不同的情况；可以只在乎性能，但有时查询的关联性可能是最重要的因素。使用search_type请求参数指定搜索类型，其各种取值介绍]]></description><category></category></item><item><title><![CDATA[如何在IDE中运行elasticsearch]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/73500770</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/73500770</guid><author>psiitoy</author><pubDate>Tue, 20 Jun 2017 16:46:21 +0800</pubDate><description><![CDATA[现在插播一篇，之前还一直没有源码跑过Elasticsearch，如果想调试Elasticsearch，或是对它做一些修改，那么就需要在IDE中将之在本地跑起来，不像直接下载的包，对于源码的运行还需要一些额外的注意。

本人是不习惯用Eclipse的，一直使用的是Intelli IDEA，对于使用Eclipse的同学，大家是可以类比的。那我们就直接从源码的main函数开始来运行，main的位置其]]></description><category></category></item><item><title><![CDATA[elasticsearch源码分析之java客户端]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/73498114</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/73498114</guid><author>psiitoy</author><pubDate>Tue, 20 Jun 2017 14:43:08 +0800</pubDate><description><![CDATA[本文所说的java客户端主要只是讲解一下用于插数据的client的原理，我们都知道往ES发数据有三种protocol分别是node、http和transport；其实对于其他client而言最终都是使用的http；而java是可以使用node和transport的，node方式一般很少用，所以我们只探究transport client，那么我们且来看看吧。

发送端例子

对于java c]]></description><category></category></item><item><title><![CDATA[Elasticsearch之client源码简要分析]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/73344373</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/73344373</guid><author>psiitoy</author><pubDate>Fri, 16 Jun 2017 17:37:01 +0800</pubDate><description><![CDATA[问题

让我们带着问题去学习，效率会更高

1  es集群只配置一个节点，client是否能够自动发现集群中的所有节点？是如何发现的？

2  es client如何做到负载均衡？

3  一个es node挂掉之后，es client如何摘掉该节点？

4  es client node检测分为两种模式（SimpleNodeSampler和SniffNodesSampler）]]></description><category></category></item><item><title><![CDATA[elasticsearch源码分析之使用Guice进行依赖注入与模块化系统]]></title><link>https://blog.youkuaiyun.com/psiitoy/article/details/73302806</link><guid>https://blog.youkuaiyun.com/psiitoy/article/details/73302806</guid><author>psiitoy</author><pubDate>Thu, 15 Jun 2017 21:35:40 +0800</pubDate><description><![CDATA[elasticsearch使用google开源的依赖注入框架guice，这个项目号称比spring快100倍，具体性能没有测试过，不过由于其代码比较简洁，比spring快很有可能，是不是快那么多就不知道了。先介绍下guice的基本使用方法。
elasticsearch是直接把guice的源码放到自己的包内（es把很多开源项目的代码都直接集成到自己项目中，省得依赖一堆的jar包，也使es的jar包]]></description><category></category></item></channel></rss>