- Netflix的EVCache缓存分布式复制架构
缓存在Netflix无处不在,Netflix大量采用的是微服务架构,可以实现粒度更细的分离关注,大概部署了数百个微服务,每个都是专注做好一件事,这使得整个系统的耦合非常松散,大多数服务是无态的,也就更加易于扩展,这些服务之所以可以无状态,是因为将状态放在了缓存或持久存储中。
崔月 · 2016-03-08 10:45 - Java事件:Form and Control KeyEvent
java事件机制包括三个部分:事件、事件监听器、事件源。事件一般继承自java.util.EventObject类,封装了事件源对象及跟事件相关的信息。事件监听器能够实现java.util.EventListener接口,注册在事件源上,当事件源的属性或状态改变时,取得相应的监听器调用其内部的回调方法。事件源为事件发生的地方。作者所讲述为Form的Control Keyevent。
崔月 · 2016-03-04 00:00 - 二层(链路层)数据包发送过程分析
当上层准备好一个包之后,交给链路层,链路层数据包发送主要通过dev_queue_xmit函数处理。数据包的发送可分为两种,一种是正常的传输流程,即通过网卡驱动,另一种是通过软中断(见注3)。为了理解方便,首先看一下dev_queue_xmi函数的整体调用关系图。(说明:本系列所涉及内核版本为2.6.32)
崔月 · 2016-03-01 22:05 - 计算机网络身份鉴别 Kerberos协议介绍
Kerberos协议主要用于计算机网络的身份鉴别(Authentication), 其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据(ticket-granting ticket)访问多个服务,即SSO(Single Sign On)。由于在每个Client和Service之间建立了共享密钥,使得该协议具有相当的安全性。
崔月 · 2016-02-24 00:00 - OLTP应用之MySQL架构选型
在我们下定决心将企业核心应用从企业级数据库迁移到开源数据库产品、使用本地磁盘代替共享存储之前。我觉得我们必须要面对并回答以下几个问题之后才能真正的将开源进行到底,将想法付诸于实践。下面我们来看一下我们在将OLTP应用迁移到MySQL数据库之上之前,我们必须要回答的几个问题:
崔月 · 2016-01-31 23:26 - 基于LVM的裸设备构建ORACLE 10g数据库
本文中,作者讲述了基于LVM的裸设备安装ORACLE数据库的方法。软件为vmware11,操作系统为OracleLinux 5.11 x64,构建的数据库是oracle 10.2.0.5 x64。另外,主机名称:odb.test.local;IP地址: 192.168.223.100 #使用的是虚拟机主机网络;实例: odb。
崔月 · 2016-01-22 00:00 - 从微信应用号看HTML5与Native融合趋势
应用号的出现是微信产品的一次重大升级,无论是为了体现用户价值观?还是追求产品商业化?作为一名技术人员,我不想过多讨论,而是更愿意从技术的角度来分析一些其中Web技术的发展。
覃里 · 2016-01-20 15:34 - 在Access中使用sql查询
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了MicrosoftJet Database Engine和图形用户界面两项特点,是Microsoft Office的系统程序之一。Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。作者表示,在ACCESS中使用SQL查询语句检查SQL语法时非常有用,以下为大家列出操作步骤。
崔月 · 2016-01-11 23:28 - 资深开发者:手游跨平台移植的简易技巧
随着免费工具的日益增多,游戏移植已经变得越来越容易,尤其是手游平台。不过,想要把 Java 时代的早期手游移植到 Android 和 iOS 平台,如果使用这些工具可能没有那么方便,如果依赖于某个工具,那么你就有可能面临版本大改而重写大量代码的风险,或者有新的平台出现,你就必须等待该工具推出对应版本,这很容易导致错过机会。
崔月 · 2016-01-11 23:20 - MySQL新特性之config_editor源码解析
从mysql5.6开始,mysql推出了加密工具mysql_config_editor。在此之前我们通过将账号和密码明文放入my.cnf,从而使用mysql客户端登录时,无需指定账号密码就可以登录数据库。而有了mysql_config_editor工具之后,我们将加密后的账号密码放入二进制文件。在登录时,客户端通过解密该文件来登录数据库。
崔月 · 2016-01-07 00:00 - 如何构建日数十亿次请求级别的web应用?
印度最大电商公司Snapdeal介绍了其Snapdeal Ads系统支持每天5B请求的经验分享。Snapdeal是一家类似于京东和阿里巴巴结合体的电商平台。独立商户可以借助这个平台销售高质量的商品,在Snapdeal出售的商品均为全新,并且支持七天免费退换。商家进驻Snapdeal后,随后的事宜(交易、包装和物流)都将由Snapdeal完成,也就是商家都将成为Snapdeal的“供货商”,无需与用户直接进行交易。
崔月 · 2015-12-31 11:35 - MySQL是更好的NoSQL
本文解释了为什么使用MySQL作为key/value使用要优于相应的NoSQL数据库,并且提供了有关这样使用的相关指南。以Wix网站为例,当有人点击一个会跳转到Wix网站的链接时,他的浏览器会发送一个Http请求到Wix服务器,如果这个请求是请求服务器上不同的子域名,比如user.wix.com/site,该服务器需要分析这个请求的网址,根据不同的子域名名称定位到相应的虚拟空间,这个过程需要key/value查询。
崔月 · 2015-12-31 09:53 - 详解MySQL数据库之MEM_ROOT
本文详细解说了MySQL中使用非常广泛的MEM_ROOT的结构体,同时省去debug部分的信息,仅分析正常情况下,mysql中使用MEM_ROOT来做内存分配的部分。
崔月 · 2015-12-28 01:04 - 大型web系统数据缓存设计
在高访问量的web系统中,缓存几乎是离不开的;但是一个适当、高效的缓存方案设计却并不容易;所以接下来将讨论一下应用系统缓存的设计方面应该注意哪些东西,包括缓存的选型、常见缓存系统的特点和数据指标、缓存对象结构设计和失效策略以及缓存对象的压缩等等,以期让有需求的同学尤其是初学者能够快速、系统的了解相关知识。
崔月 · 2015-12-08 13:22 - 如何学习掌握一个分布式系统?
长期以来学习掌握分布式系统的知识非常庞杂混乱,本文将分布式算法归纳为几种:计时模型timing model; 进程间通讯interprocess communication和失败模型failure model。
崔月 · 2015-12-08 10:47 - 干货放送:基于Kettle的数据处理实践
在当前大数据环境下,我们处理数据迁移、转换的工作会越来越多,数据仓库的概念也越来越被熟知,现在有很多成熟的工具提供ETL 功能,即将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。本文以Window 环境为例,主要介绍了从Mysql 数据库中对数据进行抽取整理,经过一定的处理后写入到另一台Mysql 数据库的方案。
崔月 · 2015-12-01 14:38 - Java ThreadPool的正确打开方式
线程池应对于突然增大、来不及处理的请求,无非两种应对方式:将未完成的请求放在队列里等待、临时增加处理线程,等高峰回落后再结束临时线程。JDK的Executors.newFixedPool() 和newCachedPool(),分别使用了这两种方式。不过,这俩函数在方便之余,也屏蔽了ThreadPool原本多样的配置,对一些不求甚解的码农来说,就错过了一些更适合自己项目的选择。
崔月 · 2015-11-30 23:47 - 构建可扩展的有态服务
很长一段时间,无态服务被看成通向伸缩扩展的必由之路,无态架构容易水平扩展,只需要一个round-robin的负载平衡就可以在无态服务之间分发请求。
崔月 · 2015-11-30 23:43 - 详解IBM PowerVC中的镜像管理
目前基于IBM PowerVC(Power虚拟化中心)管理的IBM Power云平台和虚拟化环境在各行业中部署的越来越广泛,PowerVC中的镜像(Image)在虚机(Virtual Machine)创建和配置变更中起到了关键作用。为使用户更好地理解PowerVC中的镜像管理,本文将详细阐述其功能和用法,使用户更好地掌握Power云平台和虚拟化环境的部署和运维技术。
崔月 · 2015-11-30 23:08 - 如何在跨多云平台实现部署管理
关于云计算服务的讨论往往都是从AWS开始的,但是对于绝大多数企业来说,这并不是云计算应用的全部。在业内,越来越多的企业都在实施使用多个云计算平台的发展策略,所谓多个云计算就是指囊括公共云计算和私有云计算,从而实现避免受限于某家供应商、提升交付可用服务的能力、避免套利差异或者保持对特定敏感信息的控制权等。虽然使用多个云计算平台可谓是一剂良方,但是它也会导致应用程序、API和配置等方面诸多管理问题的产生。
崔月 · 2015-11-30 23:07