梦想破碎是没有声音的,它只是缓慢又沉默地离开了。 by 苏更生

 分类:设计

Redis和Memcached的区别

Redis和Memcached的区别
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较: Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类...

cricode 12个月前 (07-17) 2808℃ 0评论 45喜欢

Elasticsearch 架构以及源码概览

Elasticsearch 是最近两年异军突起的一个兼有搜索引擎和NoSQL数据库功能的开源系统,基于Java/Lucene构建。最近研究了一下,感觉 Elasticsearch 的架构以及其开源的生态构建都有许多可借鉴之处,所以整理成文章分享下。本文的代码以及架构分析主要基于 ...

cricode 12个月前 (07-16) 2463℃ 0评论 38喜欢

设计高并发下的读服务?一个电商老兵的10条经验

设计高并发下的读服务?一个电商老兵的10条经验
本文作者是一个一线的电商老兵,任职于京东商城。在本文中,他将会分享他在构建以读为主的系统时总结的经验和教训,内容包括使用HTTP协议对外通讯、使用短连接、数据异构、巧用缓存、流量控制、防刷、降级、多域名等,作者老马不带遮掩的,把自己总结的经验,包括代码都放到这里了,欢迎各位检阅!...

cricode 12个月前 (07-16) 2471℃ 0评论 68喜欢

支付宝架构师:从工程师到架构师的成长之路

0、前言 架构师是一个没有被严格定义的角色。 在写这篇文章之前,我特意把这几年看过的关于架构和架构师的书重新翻了一遍,结果发现它们的定义或多或少有一些不一样,而经过了这几年,一些之前同意的观点,现在的我也不敢苟同了。另一方面,业界对于架构师这个岗位,其实也没有统一的角色定位。在阿...

cricode 1年前 (2016-04-23) 3012℃ 0评论 75喜欢

唯品会RPC服务框架与容器化演进

文章概览: 1.分布式服务框架实践 服务注册与发现 服务治理 灰度流量控制 治理策略 减化运维 中间聚合层 RPC 性能 2.容器化演进 镜像的发布 网络 VIP DCOS 资源共享 3.容器的“黑科技” 内存策略 IO 优化 磁盘 IO 网络 IO 今天要讲的题目比较热,但也比...

Jay13 1年前 (2016-04-06) 2910℃ 0评论 75喜欢

小米开源监控系统OpenFalcon应对高并发7种手段

小米开源监控系统OpenFalcon应对高并发7种手段
今天给大家简单介绍一下 OpenFalcon 应对高并发的一些手段。OpenFalcon 是一个监控系统,来自于小米的运维团队,OpenFalcon 主要针对运维架构师、DevOP 及关注高并发的研发人员。小米在使用 OpenFalcon 的过程当中,每个周期(5 分钟)大约有 ...

cricode 1年前 (2016-04-01) 2464℃ 0评论 90喜欢

基于用户画像大数据的电商防刷架构

基于用户画像大数据的电商防刷架构
一、背景介绍 最近1~2年电商行业飞速发展,各种创业公司犹如雨后春笋大量涌现,商家通过各种活动形式的补贴来获取用户、培养用户的消费习惯。 但任何一件事情都具有两面性,高额的补贴、优惠同时了也催生了“羊毛党”。 “羊毛党”的行为距离欺诈只有一步之遥,他们的存在严重破环了活动的目的,...

cricode 1年前 (2016-04-01) 2037℃ 0评论 81喜欢

并发之痛 Thread,Goroutine,Actor

聊这个话题之前,先梳理下两个概念,几乎所有讲并发的文章都要先讲这两个概念: 并发(concurrency) 并发的关注点在于任务切分。举例来说,你是一个创业公司的CEO,开始只有你一个人,你一人分饰多角,一会做产品规划,一会写代码,一会见客户,虽然你不能见客户的同时写代码,但...

cricode 1年前 (2016-03-05) 1480℃ 0评论 41喜欢

从100PV到1亿级PV网站架构演变

一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。 1:积累是必不可少的 架构师不是一天练成的。 1999年,我作了一个个人主页,在学校内的虚拟空间,参...

Jay13 1年前 (2016-01-23) 2709℃ 0评论 29喜欢

好书推荐:20本人人都看得懂的设计书

设计不是设计师和艺术家的专属,而是存在于我们日常生活方方面面的存在。下面这些生动易读的设计类书籍,相信是不是专业出身的我们都能有所收获和启发。 1.《写给大家看的设计书》 作者: [美] Robin Williams 出版社: 人民邮电出版社 出版年: 2009年 豆瓣评分:8...

Jay13 2年前 (2015-10-09) 3162℃ 0评论 12喜欢

架构腐化之谜

架构腐化之谜
前言 新技术层出不穷。过去十年时间里,我们经历了许多激动人心的新技术,包括那些新的框架、语言、平台、编程模型等等。这些新技术极大地改善了开发人员的工作环境,缩短了产品和项目的面世时间。然而作为在软件行业第一线工作多年的从业者,我们却不得不面对一个现实,那就是当初采用新技术的乐趣随...

cricode 2年前 (2015-08-13) 3068℃ 0评论 24喜欢

设计模式学习笔记 (1)

设计模式学习笔记 (1)
1.设计模式中类与类之间的6种关系 在面向对象的设计模式中,类与类之间主要有6种关系:依赖、关联、聚合、组合、继承、实现。 依赖:类A当中使用了类B,其中类B是作为类A的方法参数、方法中的局部变量、或者静态方法调用。则称类A依赖类B。 关联:类A当中使用了类B,其中类B是作为类A...

Jay13 3年前 (2014-09-14) 6310℃ 1评论 28喜欢

《设计模式》系列教程——一览众山小

《设计模式》系列教程——一览众山小
设计模式系列教程 目录 设计模式基础教程 设计模式中类的关系 依赖、关联、聚合和组合之间区别 设计模式的六大原则 设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原...

Jay13 3年前 (2014-08-11) 4529℃ 1评论 9喜欢

nginx架构初探

众所周知,nginx性能高,而nginx的高性能与其架构是分不开的。那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧。 nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。我们也可以手...

Jay13 3年前 (2014-07-12) 7189℃ 2评论 17喜欢

淘宝技术发展历程

一、引言   光棍节的狂欢   “时间到,开抢!”坐在电脑前早已等待多时的小美一看时间已到 2011 年 11 月 11 日零时,便迫不及待地投身于淘宝商城一年一度的大型网购促销活动 —— “淘宝双11购物狂欢节”。小美打开早已收藏好的宝贝 —— 某品牌的雪地靴,飞快的点击购买,...

Jay13 3年前 (2014-07-04) 55686℃ 0评论 24喜欢

自己动手制作一台四位计算机

自己动手制作一台四位计算机
你是否想过,计算机为什么会加减乘除?或者更直接一点,计算机的原理到底是什么? Waitingforfriday有一篇详细的教程,讲解了如何自己动手,制作一台四位计算机。从中可以看到,二进制、数理逻辑、电子学怎样融合在一起,构成了现代计算机的基础。 一、什么是二进制? 首先,从最简...

熊 大 3年前 (2014-06-22) 16534℃ 9评论 53喜欢

由12306谈谈网站性能技术

12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促,而且完全基于本人有限的经验和了解,所以,如果有什么问题还请大家一起讨论和指正。(这又是一篇长文,只讨论性能问题,不讨论那些UI,用户体验,或是是否把支付和...

Jay13 3年前 (2014-06-15) 4314℃ 2评论 18喜欢

恼人的设计模式

最近参加面试,总是被问到设计模式的问题。本人作为一个实用派,完全没搞懂作为一个功能的实现者,设计模式到底有多重要。当然,本人的意思不是说设计模式没用或者不该了解,但是这是一个度的问题,简单的模式,常用的模式,了解并会用,是必然的,但是其他模式,更深层的东西,也许留给架构师来理解更...

Jay13 3年前 (2014-06-05) 2542℃ 0评论 7喜欢

换种思路去理解设计模式(下)

换种思路去理解设计模式(上) 换种思路去理解设计模式(中) 换种思路去理解设计模式(下) 8       对象行为与操作对象 8.1     过程描述 所谓对象行为和操作对象,需要三方面内容: l  操作过程: 一般表现为一个方法。该方法接收一个对象或者组合类型的参数,然后对这个...

Jay13 3年前 (2014-06-04) 2963℃ 3评论 7喜欢

换种思路去理解设计模式(中)

换种思路去理解设计模式(上) 换种思路去理解设计模式(中) 换种思路去理解设计模式(下) 7   多个对象组成结构 7.1     过程描述 上一节介绍了如何创建一个对象。但大多数情况,一个对象是不够用的,这时候就需要把对象包装、封装、多对象组合。有时候还需要将一个组合作为一个整...

Jay13 3年前 (2014-06-04) 2519℃ 0评论 2喜欢

换种思路去理解设计模式(上)

换种思路去理解设计模式(上) 换种思路去理解设计模式(中) 换种思路去理解设计模式(下) 1 前言 看过许多关于设计模式的博客,也读过关于设计模式的书。几乎所有的介绍的开头,直接就引入了“设计模式”或者“某某模式”。设计模式到底是因什么而来?这是一个很重要的问题。孙悟空从石头缝里...

Jay13 3年前 (2014-06-04) 3608℃ 1评论 7喜欢

23种设计模式(15):备忘录模式

定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态 类型:行为类 类图: 我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我们使用Eclipse进行编程时,假如编写失误(...

Jay13 3年前 (2014-06-04) 2013℃ 0评论 4喜欢

23种设计模式(14):解释器模式

定义:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子。 类型:行为类模式 类图: 解释器模式是一个比较少用的模式,本人之前也没有用过这个模式。下面我们就来一起看一下解释器模式。   解释器模式的结构 抽象解释器:声明一个所...

Jay13 3年前 (2014-06-04) 2034℃ 0评论 3喜欢

23种设计模式(13):迭代器模式

定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。 类型:行为类模式 类图: 如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码吧: public stat...

Jay13 3年前 (2014-06-04) 2065℃ 0评论 5喜欢

23种设计模式(12):策略模式

定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。 类型:行为类模式 类图: 策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。在前面说过的行为类模式中,有一种模式也是关注对算法的封装——模版方法模式,对照类...

Jay13 3年前 (2014-06-04) 1870℃ 0评论 6喜欢

23种设计模式(11):责任连模式

定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。 类型:行为类模式 类图: 首先来看一段代码: public void test(int i, Re...

Jay13 3年前 (2014-06-04) 1531℃ 0评论 7喜欢

23种设计模式(10):命令模式

定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 类型:行为类模式 类图: 命令模式的结构 顾名思义,命令模式就是对命令的封装,首先来看一下命令模式类图中的基本结构: Command类:是一个抽象...

Jay13 3年前 (2014-06-04) 1887℃ 0评论 6喜欢

23种设计模式(9):访问者模式

定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。 类型:行为类模式 类图: 访问者模式可能是行为类模式中最复杂的一种模式了,但是这不能成为我们不去掌握它的理由。我们首先来看一个简单的例子,代码如下: ...

Jay13 3年前 (2014-06-04) 1698℃ 0评论 1喜欢