Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
技术架构与体系结构
设计模式与系统阶段
我们经常碰到一个问题:母亲和老婆掉到水里,你先救哪个?这个问题很难回答,我们从GOF设计模式与系统的角度来解剖这个问题。 GOF设计模式分三种类型:结构型、创建型和行为型,这三者类型其实对应着一个系统的三个阶段:设计阶段、创建阶段和运行阶段。
web 应用 一亿 并发 解决 之道
如题,若应用能够支持一亿并发量,应用应从哪几个方面如手?请大伽不吝赐教!
Uber实时调度平台系统的架构概要
Uber通过其在线调度平台能自动对乘客和车辆进行适配,大大提高了城市交通效率。其首席架构师Matt Ranney最近透露了其调度系统的概要,其系统是如何将乘客和司机进行配对的。
如何学习掌握一个分布式系统?
长期以来学习掌握分布式系统的知识非常庞杂混乱,本文将分布式算法归纳为几种:计时模型timing model; 进程间通讯interprocess communication 和失败模型failure model。 计时模型timing mo
分解和组合的抽象方法
抽象方法一般有两个分解decomposition和组合composition,这两种方法的方向正好相反,分解是将整体分解为部分,而组合是将部分组合成整体。 在软件架构设计和编码中,我们经常快速灵活使用这两种方法,比如将一个类分解为多个小类,将一个方法分解为
加法是自然之道
写代码和数据处理有一个共同规则:只新增append/insert.不修改替换update/replace。这个原理符合自然加法规则,符合构造定律Constructal Law。 我们一直在说道法自然,那么自然之道是什么呢?我认为自然是在做加法,老子道德经说
我们对云计算的理解都错了
国内大部分号称云计算的产品基本是主机托管+数据中心,很多人认为云计算=主机托管+数据中心,其实这种观点错了。来自druva的一篇
Twitch(Justin.tv)的技术架构
Twitch的直播模式完全不同于YouTube等点播批处理方式,直播对技术要求更高更难,这也是目前国内电视直播还依赖有线网络的原因,而互联网上的电视直播业务在直播效果上要大打折扣,而Twitch则是在利用互联网技术实现流畅不间断直播上探索了一条成功道路。
微服务实战中的那些“坑”
Richard Clayton分享了自己在微服务实践中的失败经历,避免更多人犯同样的错误。这些问题主要有以下几点: 1.开发人员之间的哲学观点的差异我们团队对微服务分为以下三个派别:a.喜爱微服
构建可扩展的有态服务
很长一段时间,无态服务被看成通向伸缩扩展的必由之路,无态架构容易水平扩展,只需要一个round-robin的负载平衡就可以在无态服务之间分发请求。 但是,无态服务也有一些问题,由于状态都保存在数据库中,每次请求都要进入数据库增加了延迟,当然可以增加一层缓存
如何扩展大规模Web网站的性能?
Reduce Data广告服务网站如何扩展到每天300K QPS请求?分享经验如下: 1. 为大规模设计,广告服务平台从一开始增长就很惊人,因此,系统开始就为大规模设计,系统为水平和垂直伸缩扩展。 2.选择CAP
考虑使用东方的知识体系构建和描述我们的软件系统
考虑把我们的软件系统构建的和你、我、他一样。引入东方人熟知的概念,权限引擎是神经系统,所有神经汇聚在头部,权限引擎所干的事情就是构建是一套神经系统插入业务系统中去,然后业务系统树的当地发生事情的时候将消息沿着神经系统上报,只要神经系统树伸到了哪里就可以行政到哪里了。整个业务系统空间的任何地方
软件的复杂性与构造定律 - 解道Jdon
看!看!深入研究自然,你就会明白一切。 - 爱因斯坦(点击标题)[该贴被banq于2014-09-12 08:19修改过]
Netflix的EVCache缓存分布式复制架构
缓存在Netflix无处不在,Netflix大量采用的是微服务架构,可以实现粒度更细的分离关注,大概部署了数百个微服务,每个都是专注做好一件事,这使得整个系统的耦合非常松散,大多数服务是无态的,也就更加易于扩展,这些服务之所以可以无状态,是因为将状态放在了缓存或持久存储中。
著名风投公司A16Z看好的16个未来软件相关领域
A16Z是风投Andreessen Horowitz公司简称,日前在他们网站上刊登他们看好的16个与软件计算机相关的领域:16 Things | Andreess
到底什么是抽象?
到底什么是抽象?我们经常说和听到“抽象”这个词,但是大家可能并不特别理解这个词到底是什么意思,至少大家对这同一个词的理解感觉起来有很大的不同,我想表述一下我的理解。什么是抽象?什么是抽象程度高?什么是具象?我天天说抽象,甚至我还在比较抽象的程度的高低,我费劲琢
如何看待和评价www架构?
如何看待www架构? 一,*/text/*:1, 空间:text/xml, text/Html, text/data,text/javascript, text/css…… (te
编程语言领域的专家和市场的对决?
如今在编程语言领域,专家和市场正上演一场对决,我们到底需要什么样的语言,不同出身也许决定了不同的视野,市场和专家两个不同方向的人经常发生不同的选择,在市场上受欢迎的语言可能被语言专家不屑一顾,而备受专家推崇的编程语言也许没有多少人愿意使用它。
上页
下页