<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[EdwinKoo的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Edwingu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Edwingu]]></copyright><item><title><![CDATA[架构师需要了解的Paxos原理、历程及实战]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/54948958</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/54948958</guid><author>Edwingu</author><pubDate>Thu, 09 Feb 2017 16:48:05 +0800</pubDate><description><![CDATA[编者按：高可用架构分享及传播在架构领域具有典型意义的文章，本文由李凯分享。转载请注明来自高可用架构公众号「ArchNotes」。李凯，目前在美团云计算部担任高级技术专家，带领存储团队。2007 年加入百度从事分布式平台 Pyramid 项目研发；2010 年在 OceanBase 立项初期，加入阿里，花名郁白，5 年中主要时间都在开发和维护 OceanBase 的 UpdateServer 模块。“]]></description><category></category></item><item><title><![CDATA[大型网站典型故障案例分析]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/44125029</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/44125029</guid><author>Edwingu</author><pubDate>Mon, 09 Mar 2015 23:04:02 +0800</pubDate><description><![CDATA[写日志也会引发故障故障现象：某应用服务器集群发布后不久就出现多台服务器相继报警，硬盘可用空间低于警戒值，并且很快有服务器宕机，登录到线上服务器，发现log文件夹里的文件迅速增加，不断消耗磁盘空间。
原因分析：查日志内容发现开发人员将log输出的level全局配置为Debug，这样一次简单的web请求就会产生大量的log文件输出，在高并发的用户请求下，很快就消耗完磁盘空间。
经验：线上的日志输出级别至]]></description><category></category></item><item><title><![CDATA[网购秒杀系统架构设计分析]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/44089149</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/44089149</guid><author>Edwingu</author><pubDate>Fri, 06 Mar 2015 00:45:59 +0800</pubDate><description><![CDATA[秒杀活动的技术挑战### 对现有网站业务造成冲击 ### 
       秒杀活动只是网站营销的一个附加活动，特点是：时间短、并发访问量大，如果和网站原有应用部署在一起，必然会对现有业务造成冲击。 
       解决方案：将秒杀系统独立部署，甚至使用独立域名，使其与网站完全隔离。高并发下的应用、数据库负载用户在秒杀开始前，通过不停刷新浏览器页面以保证不会错过秒杀，这些请求如果按照一般的网站应用架构]]></description><category></category></item><item><title><![CDATA[WebSocket握手总结]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/44040961</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/44040961</guid><author>Edwingu</author><pubDate>Wed, 04 Mar 2015 18:43:27 +0800</pubDate><description><![CDATA[WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。原理以前网站为了实现即时通讯，所用的技术都是轮询(polling)。轮询是在特定的的时间间隔（如每隔1秒），由浏览器对服务器发出HTTP request，然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏览器需要不断的]]></description><category></category></item><item><title><![CDATA[CSRF攻击与防御]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/44044635</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/44044635</guid><author>Edwingu</author><pubDate>Tue, 03 Mar 2015 22:40:45 +0800</pubDate><description><![CDATA[CSRF攻击CSRF（Cross Site Request Forgery，跨站点请求伪造），攻击者通过跨站请求，以合法用户的身份进行非法操作，如转账交易、发表评论等。CSRF的主要手法是利用跨站请求，在用户不知情的情况下，以用户的身份伪造请求。Created with Raphaël 2.1.2用户用户受信任网站A受信任网站A攻击者网站B攻击者网站B（1）用户登录受信任服务器（2）用户访问攻击者服]]></description><category></category></item><item><title><![CDATA[应用服务器性能优化]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/44009125</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/44009125</guid><author>Edwingu</author><pubDate>Tue, 03 Mar 2015 00:13:44 +0800</pubDate><description><![CDATA[优化手段主要有缓存、集群、异步等。分布式缓存网站性能优化第一定律：优先考虑使用缓存。缓存的基本原理缓存是指将数据存储在相对较高访问速度的存储介质中。
（1）访问速度快，减少数据访问时间；
（2）如果缓存的数据进过计算处理得到的，那么被缓存的数据无需重复计算即可直接使用。
缓存的本质是一个内存Hash表，以一对Key、Value的形式存储在内存Hash表中，读写时间复杂度为O(1)。
合理使用缓存不合]]></description><category></category></item><item><title><![CDATA[Web前端性能优化]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/43974201</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/43974201</guid><author>Edwingu</author><pubDate>Fri, 27 Feb 2015 23:51:02 +0800</pubDate><description><![CDATA[浏览器访问优化
减少http请求 
 HTTP协议是无状态的应用层协议，意味着每次HTTP请求都需要建立通信链路、进行数据传输，而在服务器端，每个HTTP都需要启动独立的线程去处理。这些通信和服务的开销都很昂贵，减少HTTP请求的数目可有效提高访问性能。 
 减少HTTP的主要手段是合并CSS、合并JavaScript、合并图片。将浏览器一次访问需要的JavaScript、CSS合并成一个文件，这样]]></description><category></category></item><item><title><![CDATA[[MySQL] 排序不确定性]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/43204787</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/43204787</guid><author>Edwingu</author><pubDate>Tue, 27 Jan 2015 22:34:02 +0800</pubDate><description><![CDATA[执行语句：SELECT * FROM tb1 ORDER BY CreateTime DESC LIMIT 0,5;
显示数据：
A
B
C
D
E
翻页查询：SELECT * FROM tb1 ORDER BY CreateTime DESC LIMIT 5,5
显示数据：
D
G
H
===========================================]]></description><category></category></item><item><title><![CDATA[文件系统特性]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/17305455</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/17305455</guid><author>Edwingu</author><pubDate>Fri, 13 Dec 2013 17:39:42 +0800</pubDate><description><![CDATA[磁盘分区完毕后还需要进行格式化(format)，之后操作系统才能够使用这个分割槽。 为什么需要进行『格式化』呢？这是因为每种操作系统所设定的文件属性/权限并不相 同， 为了存放这些档案所需的数据，因此就需要将分割槽进行格式化，以成为操作系统能够利用的『文件系统格式(filesystem)』。
         较新的操作系统的档案数据除了档案实际内容外， 通常含有非常多的属性，例如 Linux ]]></description><category></category></item><item><title><![CDATA[PHP CURL获取Web Service出现乱码问题]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/10532093</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/10532093</guid><author>Edwingu</author><pubDate>Thu, 29 Aug 2013 16:44:03 +0800</pubDate><description><![CDATA[PHP获取API接口数据时，发现解析不了，echo出来发现有乱码。代码如下：
	public function testPost()
	{
		$url = 'http://api.local/test';

		$para->name ="edwin";
		$para->sex ="male";
		$sPara = json_encode($para);
		$sPara = "r=" .]]></description><category></category></item><item><title><![CDATA[Linux 指令几则]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/10185699</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/10185699</guid><author>Edwingu</author><pubDate>Thu, 22 Aug 2013 15:59:27 +0800</pubDate><description><![CDATA[bc ：简单计算器。+ 加法  - 减法  * 乘法  / 除法  ^ 指数  % 余数。如要输出小数点，要设置 scale=number（小数位）
cal：显示日历。参数可以是月 年 或者年。 如：cal 08 2013；cal 2013
简单文本编辑器：nano [文件名]]]></description><category></category></item><item><title><![CDATA[剪切、粘贴和连结文本]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/9475087</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/9475087</guid><author>Edwingu</author><pubDate>Thu, 25 Jul 2013 23:24:48 +0800</pubDate><description><![CDATA[用cut命令输出列：
        cut命令输出一个文本文件中指定的列。假设有一个名为example.txt的文件具有以下的文本：
one two three
four five six
seven eight nine
ten eleven twelve
可用 -f选项执行要提取的字段。下面的命令将返回example.txt文件中的第二列：cut -f2 example.txt]]></description><category></category></item><item><title><![CDATA[重要的UNIX目录]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/9456963</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/9456963</guid><author>Edwingu</author><pubDate>Wed, 24 Jul 2013 22:57:20 +0800</pubDate><description><![CDATA[/etc：该目录是系统管理员保存系统配置文件的目录。这里的重要文件涉及密码（etc/passwd）和所关心的主机信息（etc/hosts）。
/dev：该目录包含设备文件，如打印机配置文件等。
/tmp：该目录为系统保存临时文件，可能包括程序的日志文件。通常你具有此目录的写访问权。
home：该目录是UNIX管理员在给你创建一个账号时分配给你的目录。这是你在登录时首先进入的目录。你拥有次目录]]></description><category></category></item><item><title><![CDATA[文件权限]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/9456675</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/9456675</guid><author>Edwingu</author><pubDate>Wed, 24 Jul 2013 22:46:09 +0800</pubDate><description><![CDATA[查看文件权限：
         使用ls -al命令可列出目录中的文件权限及文件名。
-rwxrwxrwx
在开始处每个文件都具有10个不同的字母及空符号(-)的组合。
第一个字符可以是一个空符号或字母d。如果为字母d，则为一个目录；如果为一个空符号，则是一个普通文件。
后面的9个位置由3组rwx组成。rwx组合代表文件的读、写、执行权限。第一组分配给文件拥有者；第二组分配给用户所属组]]></description><category></category></item><item><title><![CDATA[防止文件被覆盖]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/9415669</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/9415669</guid><author>Edwingu</author><pubDate>Mon, 22 Jul 2013 23:11:05 +0800</pubDate><description><![CDATA[可使用 noclobber shell 变量来避免意外地覆盖某个已有文件。最好在启动文件（如：.cshrc文件）中包括这个变量，如下所示：
set noclobber]]></description><category></category></item><item><title><![CDATA[DHCP 協定]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/8985590</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/8985590</guid><author>Edwingu</author><pubDate>Tue, 28 May 2013 16:51:42 +0800</pubDate><description><![CDATA[經過了前面的學習，相信您不再認為設定與管理 TCP/IP 網路是件輕鬆的事情。要成功的將您的網路用 TCP/IP 連接起來，您就得為每台電腦設定 IP、mask、gateway、等等繁瑣的事情。要是您想管理好一個比較大的網路﹐或是電腦節點經常改變(如手提電腦或撥接)﹐這樣的工作可以說是非常令人討厭的﹐而且出錯的機會也比較多。要是，萬一日後要進行 IP 重新規劃﹐其工作量也是相當驚人的。

面對]]></description><category></category></item><item><title><![CDATA[ICMP 協定]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/8965211</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/8965211</guid><author>Edwingu</author><pubDate>Thu, 23 May 2013 14:38:26 +0800</pubDate><description><![CDATA[在整個 TCP/IP 協定家族中，對 "使用者" 來說，ICMP 恐怕是易忽略的協定了。關於前面所討論的協定，真要能發揮工作的前提條件是："假設一切都沒問題" 。然而，在當今如此複雜的網路環境中，前述條件恐怕是沒辦法保證的：設定可能有誤、線路有可能會斷、設備可能掛點、router 可能負載太高、 .... 等等又等等的狀況，都是我們沒辦法確保的。那麼，我們必需有一套機制來偵測或通知各種各樣可能發生]]></description><category></category></item><item><title><![CDATA[TCP 與 UDP]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/8964637</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/8964637</guid><author>Edwingu</author><pubDate>Thu, 23 May 2013 12:20:02 +0800</pubDate><description><![CDATA[我們在前面討論 OSI 和 TCP/IP 分層協定概念的時候﹐已經指出﹕不管協定設計者如何定義層級﹐各層級協定大致分成兩類﹕網路群組﹑和使用者群組。前面介紹的 ARP ﹑IP﹑RIP 等協定﹐可以算是網路群組的範圍﹐假如您對前述概念都有一定認識﹐已經知道了一個封包如何從一個節點傳遞到另一個節點。然而﹐這僅是 TCP/IP 協定的一半而已﹐要完全了解 TCP/IP 的精髓﹐在 IP 協定的更上一個層]]></description><category></category></item><item><title><![CDATA[IP Routing]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/8955775</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/8955775</guid><author>Edwingu</author><pubDate>Tue, 21 May 2013 15:45:26 +0800</pubDate><description><![CDATA[除了 subnetting ，關於 IP 協定的令一個關鍵概念就是：IP 路由(routing)。那什麼是路由呢﹖簡單而言﹐就是當一個封包從發送端被傳送到接收端所經過的路徑。
IP 路由原理
若您重看上一章所介紹的 IP 封包格式﹐您會發現第 4 和第 5 行﹐分別用來記錄來源 IP 位址和目的地 IP 位址。必須注意﹐除非封包由特定程式修改過﹐在正常的傳遞中﹐這兩個欄位的位址是永遠不變動。I]]></description><category></category></item><item><title><![CDATA[IP位址]]></title><link>https://blog.youkuaiyun.com/Edwingu/article/details/8954624</link><guid>https://blog.youkuaiyun.com/Edwingu/article/details/8954624</guid><author>Edwingu</author><pubDate>Tue, 21 May 2013 12:05:03 +0800</pubDate><description><![CDATA[網際網路協定( IP )是整個 TCP/IP 協定的基礎﹐它的一些功能在前面的介紹 OSI 和 TCP/IP 模型的時候已經略略提過了﹐不過﹐由於它的重要性實在太值得了解﹐因此我們在這裡再深入的探討一下網際網路層的協定。而事實上，若 IP 這個環節若不過關的話，我會勸您別嚐試網路相關的工作了，否則會痛苦一輩子！
大體而言，網際網路協定的功能包括如下﹕


定義資料在網際網路中傳輸的基本單位]]></description><category></category></item></channel></rss>