分布式系统
Watson2016
游戏,c++,机器视觉,嵌入式,后台开发
展开
-
浅谈分布式系统
出处: 腾云阁 https://www.qcloud.com/community 我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ拉、微信拉、淘宝拉。那么,一个互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一个服务器端系统变得更复杂?本文就是想从最基本的地方开始,探寻服务器端系统技术的基础概念。承载量是分布式系统存在的原因当转载 2016-11-05 18:15:45 · 5105 阅读 · 0 评论 -
高性能服务器架构思路(一)——缓冲策略
在服务器端程序开发领域,性能问题一直是备受关注的重点。业界有大量的框架、组件、类库都是以性能为卖点而广为人知。然而,服务器端程序在性能问题上应该有何种基本思路,这个却很少被这些项目的文档提及。本文正式希望介绍服务器端解决性能问题的基本策略和经典实践,并分为几个部分来说明:缓存策略的概念和实例缓存策略的难点:不同特点的缓存数据的清理机制分布策略的概念和实例转载 2016-11-06 14:51:18 · 1052 阅读 · 1 评论 -
高性能服务器架构思路(二)——缓冲清理策略
转载自腾云阁!虽然使用缓存思想似乎是一个很简单的事情,但是缓存机制却有一个核心的难点,就是——缓存清理。我们所说的缓存,都是保存一些数据,但是这些数据往往是会变化的,我们要针对这些变化,清理掉保存的“脏”数据,却可能不是那么容易。首先我们来看看最简单的缓存数据——静态数据。这种数据往往在程序的运行时是不会变化的,比如Web服务器内存中缓存的HTML文件数据,就是这种。事实上,转载 2016-11-06 14:53:34 · 508 阅读 · 0 评论 -
高性能服务器架构思路(四)——编码复杂度和通信
分布式编程复杂度以前我们的代码,从上往下执行,每一行都会占用一定的CPU时间,这些代码的直接顺序,也是和编写的顺序基本一致,任何一行代码,都是唯一时刻的执行任务。当我们在编写分布式程序的时候,我们的代码将不再好像那些单进程、单线程的程序一样简单。我们要把同时运行的不同代码,在同一段代码中编写。就好像我们要把整个交响乐团的每个乐器的乐谱,全部写到一张纸上。为了解决这种编程的复杂度转载 2016-11-06 14:55:45 · 486 阅读 · 0 评论 -
高性能服务器架构思路(五)——分布式缓存
高性能服务器架构思路(五)——分布式缓存在分布式程序架构中,如果我们需要整个体系有更高的稳定性,能够对进程容灾或者动态扩容提供支持,那么最难解决的问题,就是每个进程中的内存状态。因为进程一旦毁灭,内存中的状态会消失,这就很难不影响提供的服务。所以我们需要一种方法,让进程的内存状态,不太影响整体服务,甚至最好能变成“无状态”的服务。当然“状态”如果不写入磁盘,始终转载 2016-11-06 14:56:20 · 687 阅读 · 0 评论 -
memcached与redis实现的对比
memcached与redis实现的对比非常好的一篇文章,忍不住要转载: 腾云阁 https://www.qcloud.com/communitymemcached和redis,作为近些年最常用的缓存服务器,相信大家对它们再熟悉不过了。前两年还在学校时,我曾经读过它们的主要源码,如今写篇笔记从个人角度简单对比一下它们的实现方式,权当做复习,有理解错误之处转载 2016-11-06 15:01:48 · 1971 阅读 · 0 评论 -
高性能服务器架构思路(三)——分布式系统概念
任何的服务器的性能都是有极限的,面对海量的互联网访问需求,是不可能单靠一台服务器或者一个CPU来承担的。所以我们一般都会在运行时架构设计之初,就考虑如何能利用多个CPU、多台服务器来分担负载,这就是所谓分布的策略。分布式的服务器概念很简单,但是实现起来却比较复杂。因为我们写的程序,往往都是以一个CPU,一块内存为基础来设计的,所以要让多个程序同时运行,并且协调运作,这需要更多的底层工作转载 2016-11-06 14:54:44 · 4730 阅读 · 0 评论