<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[youbo_sun的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sun754276603</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sun754276603]]></copyright><item><title><![CDATA[TCP三次握手，四次分手]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/105178442</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/105178442</guid><author>sun754276603</author><pubDate>Sun, 29 Mar 2020 14:51:42 +0800</pubDate><description><![CDATA[TCP 协议结构

TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。协议结构如下图：



其中标志位：

URG:紧急指针有效。

ACK:确认序号有效。

PSH:接收方应该尽快将这给报文发送给应用层。

RST:重建连接。

SYN:同步序号，用来发起一个连接。

FIN:发送端完成了发送任务。

三次握手：建立连接



四次分手：TCP连接关闭



由于TCP连接是全双工的，...]]></description><category></category></item><item><title><![CDATA[高并发API限流策略]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/105170572</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/105170572</guid><author>sun754276603</author><pubDate>Sat, 28 Mar 2020 23:02:16 +0800</pubDate><description><![CDATA[高并发系统常用策略

缓存：缓存的目的是提升系统访问速度和增大系统处理容。
	降级：降级是当服务出现问题或者影响到核心流程时，需要暂时屏蔽掉，待高峰或者问题解决后再打开。
	限流：限流的目的是通过对并发访问量限制，或者对一个时间窗口内的请求进行限速来保护系统，一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理。
	分流：分流是为了将流量分发到多个服务进行处理，以便总体可以支撑巨大流量。
限流常...]]></description><category></category></item><item><title><![CDATA[OAuth2介绍与使用]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/105146151</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/105146151</guid><author>sun754276603</author><pubDate>Fri, 27 Mar 2020 17:35:20 +0800</pubDate><description><![CDATA[1. 什么是OAuth2

OAuth（Open Authorization：开放授权）是一个开放标准，允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息，而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容，OAuth2.0是OAuth协议的延续版本，但不向后兼容OAuth 1.0即完全废止了OAuth1.0。

2. OAuth2运行流程



（A）用户打开客户端...]]></description><category></category></item><item><title><![CDATA[什么是JWT？]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/105145739</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/105145739</guid><author>sun754276603</author><pubDate>Fri, 27 Mar 2020 17:22:08 +0800</pubDate><description><![CDATA[JWT 是什么？

JSON Web Token（JWT）是一个开放标准（RFC 7519），它定义了一种紧凑且独立的方法，用于在各方之间安全地将信息作为JSON对象传输。 由于此信息是经过数字签名的，因此可以被验证和信任。 可以使用密钥（使用HMAC算法）或使用RSA或ECDSA的公用/专用密钥对对JWT进行签名。

尽管可以对JWT进行加密以在各方之间提供保密性，但我们将重点关注已签名的令牌。...]]></description><category></category></item><item><title><![CDATA[kylin介绍]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/73849531</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/73849531</guid><author>sun754276603</author><pubDate>Wed, 28 Jun 2017 16:25:43 +0800</pubDate><description><![CDATA[转载：  http://www.mamicode.com/info-detail-1015006.html
 Kylin是ebay开发的一套OLAP系统，与Mondrian不同的是，它是一个MOLAP系统，主要用于支持大数据生态圈的数据分析业务，它主要是通过预计算的方式将用户设定的多维立方体缓存到HBase中（目前还仅支持hbase），这段时间对mondrian和kylin都进行了使用，发现这两]]></description><category></category></item><item><title><![CDATA[Maven介绍，包括作用、核心概念、用法、常用命令、扩展及配置]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/70859544</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/70859544</guid><author>sun754276603</author><pubDate>Thu, 27 Apr 2017 16:20:22 +0800</pubDate><description><![CDATA[由浅入深，主要介绍maven的用途、核心概念(Pom、Repositories、Artifact、Build Lifecycle、Goal)、用法（Archetype意义及创建各种项目）、maven常用参数和命令以及简单故障排除、maven扩展（eclipse、cobertura、findbugs、插件开发）、maven配置。
较长，可根据个人需要有选择性的查看，比如先看用法再回过头来看核心概念]]></description><category></category></item><item><title><![CDATA[Neo4j介绍与使用]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/68942841</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/68942841</guid><author>sun754276603</author><pubDate>Sat, 01 Apr 2017 11:45:43 +0800</pubDate><description><![CDATA[Neo4j简介

Neo4j是一个高性能的,NOSQL图形数据库，它将结构化数据存储在网络上而不是表中。Neo4j也可以被看作是一个高性能的图引擎，该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。

Neo4j因其嵌入式、高性能、轻量级等优势，越来越受到关注。

图形数]]></description><category></category></item><item><title><![CDATA[CDH5.10 ubuntu14.04部署文档--离线安装]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/62234588</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/62234588</guid><author>sun754276603</author><pubDate>Wed, 15 Mar 2017 18:53:33 +0800</pubDate><description><![CDATA[CDH5.10 ubuntu14.04部署文档
--离线安装
1. 说明
本次部署使用台机器，4台用于搭建CDH集群，1台为内部源。内部源机器是可以连接公网的，可以提前部署好内部源（内部源服务器是已经存在的ubuntu14.04服务器），4台CDH集群服务器是无法连接内外。本次部署涉及到的服务器的hosts配置如下：
192.168.0.230    cdh01
192.168.0.23]]></description><category></category></item><item><title><![CDATA[ubuntu下允许root用户ssh远程登录]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/56839438</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/56839438</guid><author>sun754276603</author><pubDate>Fri, 24 Feb 2017 13:55:05 +0800</pubDate><description><![CDATA[1. 修改root密码：
 $ sudo passwd root


2.修改ssh配置文件
$ sudo vi /etc/ssh/sshd_config

修改如下：
#PermitRootLogin without-password
PermitRootLogin yes



3.重启 ssh服务
$ sudo service ssh restart]]></description><category></category></item><item><title><![CDATA[完全理解Python迭代对象、迭代器、生成器]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/52983299</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/52983299</guid><author>sun754276603</author><pubDate>Mon, 31 Oct 2016 16:13:52 +0800</pubDate><description><![CDATA[在了解Python的数据结构时，容器(container)、可迭代对象(iterable)、迭代器(iterator)、生成器(generator)、列表/集合/字典推导式(list,set,dict comprehension)众多概念参杂在一起，难免让初学者一头雾水，我将用一篇文章试图将这些概念以及它们之间的关系捋清楚。



容器(container)

容器是一种把多个元素组织]]></description><category></category></item><item><title><![CDATA[mongo基础]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/52611751</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/52611751</guid><author>sun754276603</author><pubDate>Wed, 21 Sep 2016 18:57:49 +0800</pubDate><description><![CDATA[一、基础

1、mongodb是什么类型的数据库？

    mongodb是一个基于document的NOSQL数据库，每条数据的结构为BSON形式。mongodb不能支持join和事务，支持索引（组合索引、唯一索引等）和丰富的查询条件，单条document的写操作是原子的。mongodb使用“replica set”架构模式来提高数据的可用性，避免数据丢失和自动failover机制；其]]></description><category></category></item><item><title><![CDATA[消息队列设计精要]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/51831408</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/51831408</guid><author>sun754276603</author><pubDate>Tue, 05 Jul 2016 14:37:55 +0800</pubDate><description><![CDATA[消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能，成为异步RPC的主要手段之一。
当今市面上有很多主流的消息中间件，如老牌的ActiveMQ、RabbitMQ，炙手可热的Kafka，阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。
本文不会一一介绍这些消息队列的所有特性，而是探讨一下自主开发设计一个消息队列时，你]]></description><category></category></item><item><title><![CDATA[rpc简介、原理、实例-缘于difx]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/51828845</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/51828845</guid><author>sun754276603</author><pubDate>Tue, 05 Jul 2016 09:40:31 +0800</pubDate><description><![CDATA[简介

RPC(Remote Procedure Call，远程过程调用)是建立在Socket之上的,出于一种类比的愿望,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序,就像LPC(本地过程调用).越底层，代码越复杂、灵活性越高、效率越高；越上层，抽象封装的越好、代码越简单、效率越差。Socket和RPC的区别再次说明了这点。在传统的编程概念中，过程是由程序员在本地编译完成，并只]]></description><category></category></item><item><title><![CDATA[六大Web负载均衡原理与实现]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/51614713</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/51614713</guid><author>sun754276603</author><pubDate>Wed, 08 Jun 2016 17:45:18 +0800</pubDate><description><![CDATA[开头先理解一下所谓的“均衡”

不能狭义地理解为分配给所有实际服务器一样多的工作量，因为多台服务器的承载能力各不相同，这可能体现在硬件配置、网络带宽的差异，也可能因为某台服务器身兼多职，我们所说的“均衡”，也就是希望所有服务器都不要过载，并且能够最大程序地发挥作用。

 

一、http重定向

当http代理（比如浏览器）向web服务器请求某个URL后，web服务器可以通过htt]]></description><category></category></item><item><title><![CDATA[python技巧]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/51179288</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/51179288</guid><author>sun754276603</author><pubDate>Mon, 18 Apr 2016 14:21:26 +0800</pubDate><description><![CDATA[本文整理自SO上的热门问答 hidden features of python ，早期有人做过类似的整理，但是内容比较旧而且比较粗糙，因此笔者在原文基础上加入自己的一些理解，另外那些高质量的评论也引入进来了。总之，这是一篇用心之作，希望你可以喜欢。

链式比较操作
>>> x = 5
>>> 1 10
True
>>> 10 20 
False
>>> x 10 10 100
True
>>]]></description><category></category></item><item><title><![CDATA[pycharm快捷键]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/51123425</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/51123425</guid><author>sun754276603</author><pubDate>Mon, 11 Apr 2016 17:23:50 +0800</pubDate><description><![CDATA[pycharm-3.4.1/help目录下可以找到ReferenceCard.pdf快捷键英文版说明

PyCharm Default Keymap

PyCharm3.0默认快捷键(翻译的)
1、编辑（Editing）
Ctrl + Space 基本的代码完成（类、方法、属性）
Ctrl + Alt + Space 快速导入任意类
Ctrl + Shift + Enter 语句完]]></description><category></category></item><item><title><![CDATA[MySQL · 引擎特性 · InnoDB Fulltext简介]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/50866701</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/50866701</guid><author>sun754276603</author><pubDate>Sat, 12 Mar 2016 18:04:05 +0800</pubDate><description><![CDATA[前言

从MySQL5.6版本开始支持InnoDB引擎的全文索引，语法层面上大多数兼容之前MyISAM的全文索引模式。 所谓全文索引，是一种通过建立倒排索引，快速匹配文档的方式。MySQL支持三种模式的全文检索模式：

第一种是自然语言模式（IN NATURAL LANGUAGE MODE），即通过MATCH AGAINST 传递某个特定的字符串来进行检索。

第二种是布尔模式（IN ]]></description><category></category></item><item><title><![CDATA[MySQL · 引擎特性 · InnoDB文件系统管理（二）]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/50866700</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/50866700</guid><author>sun754276603</author><pubDate>Sat, 12 Mar 2016 18:02:32 +0800</pubDate><description><![CDATA[传统压缩存储格式

当你创建或修改表，指定row_format=compressed key_block_size=1|2|4|8 时，创建的ibd文件将以对应的block size进行划分。例如key_block_size设置为4时，对应block size为4kb。

压缩页的格式可以描述如下表所示：



在内存中通常存在压缩页和解压页两份数据。当对数据进行修改时，通常先修改]]></description><category></category></item><item><title><![CDATA[MySQL · 引擎特性 · InnoDB文件系统管理（一）]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/50866682</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/50866682</guid><author>sun754276603</author><pubDate>Sat, 12 Mar 2016 18:00:58 +0800</pubDate><description><![CDATA[综述

从上层的角度来看，InnoDB层的文件，除了redo日志外，基本上具有相当统一的结构，都是固定block大小，普遍使用的btree结构来管理数据。只是针对不同的block的应用场景会分配不同的页类型。通常默认情况下，每个block的大小为UNIV_PAGE_SIZE，在不做任何配置时值为16kb，你还可以选择在安装实例时指定一个块的block大小。 对于压缩表，可以在建表时指定bloc]]></description><category></category></item><item><title><![CDATA[MySQL 加锁处理分析]]></title><link>https://blog.youkuaiyun.com/sun754276603/article/details/50866544</link><guid>https://blog.youkuaiyun.com/sun754276603/article/details/50866544</guid><author>sun754276603</author><pubDate>Sat, 12 Mar 2016 17:34:30 +0800</pubDate><description><![CDATA[1    背景    1


1.1    MVCC：Snapshot
 Read vs Current Read    2


1.2    Cluster
 Index：聚簇索引    3


1.3    2PL：Two-Phase
 Locking    3


1.4    Isolation
 Level    4


2    一条简单SQL的加]]></description><category></category></item></channel></rss>