REST架构简析(原论文整理)】的更多相关文章

0 引言        目前,互联网在社会中扮演的角色越来越重要.通过互联网为广大群众提供服务,也是互联网成功的关键.互联网服务架构目前大多数都是基于REST架构来完成的.REST从它诞生至今,可以说为互联网的繁荣做出了不可磨灭的贡献.REST架构到底是一种什么样的架构,而它为何有这种魔力,这里我们就来刨根问底,挖掘它的内在以及潜在意义. 1 绪论 1.1 软件架构        软件架构是一种软件运行时的抽象.软件运行的健壮性.扩展性.效率,软件使用的简洁性通常用来评判一种软件好坏的标志,也是…
在本系列的第一篇中,简述了SequoiaDB的安装,以及一个(伪)集群的部署 第二篇和第三篇对SequoiaDB的集群,做了简单地操作. 在本篇中,将对SequoiaDB的架构进行简单的分析. 因为自身能力有限,对于架构这么高大上的主题,不敢轻言.因此本文会摘抄SequoiaDB官方的描述,加上自己的理解,达到共同学习的目的. 在解析之前,先简单叙述一下分布式系统的CAP理论: C:代表一致性,即在某时刻,分布式系统中节点数据应该是相同的: A:代表可用性,即有求必应,在分布式系统中某节点后,统…
一.Nginx的模块化 模块化结构的思想是一个很久的概念,但也正是成熟的思想造就了Nginx的巨大优越性. 我们知道Nginx从总体上来讲是有许多个模块构成的.习惯将Nginx分为5大模块分别为:核心模块,标准HTTP模块,可选HTTP模块,邮件服务模块和第三方模块. 这5个模块由上到下重要性一次递减. (1)核心模块: 核心模块是Nginx服务器正常运行必不可少的模块,如同操作系统的内核.它提供了Nginx最基本的核心服务.像进程管理.权限控制.错误日志记录等: (2)标准HTTP模块: 标准…
muduo是一个高质量的Reactor网络库,采用one loop per thread + thread loop架构实现,代码简洁,逻辑清晰,是学习网络编程的很好的典范. muduo的代码分为两部分,base和net,base部分实现一些基础功能,例如log, thread, threadpool, mutex, queue 等,这些基础模块在后面网络库中很多地方都可以复用, base库的类相互之间耦合性较低,源码阅读起来并不困难,此处不做过多探究. net部分使用base中的工具类实现更高…
构建 CDN 分发网络架构 CDN的基本目的:1.通过本地缓存实现网站的访问速度的提升 CDN的关键点:CNAME在域名解析:split智能分发,引流到最近缓存节点…
本文转自EasyDarwin开源团队成员John的博客:http://blog.csdn.net/jyt0551/article/details/73310641 EasyPlayer 是一款小而美的RTSP安卓播放器.具有起搏快.延迟底.兼容性好的特点,而且支持抓拍.录像等实用功能. 好了,我就在此简单介绍一下播放器的代码结构吧! 播放 简单来说,EasyPlayer就是一个典型的生产者.消费者模式案例,如下图所示: 首先,创建音视频消费者线程.线程刚开始,会等待音视频数据帧,根据音视频相关信…
SIFT(Scale-Invariant Feature Transform)是一种具有尺度不变性和光照不变性的特征描述子,也同时是一套特征提取的理论,首次由D. G. Lowe于2004年以<Distinctive Image Features from Scale-Invariant Keypoints[J]>发表于IJCV中.开源算法库OpenCV中进行了实现.扩展和使用. 本文主要依据原始论文和网络上相关专业分析,对SIFT特征提取的算法流程进行简单分析.由于涉及到的知识概念较多,本人…
Linux VFS机制简析(一) 本文主要基于Linux内核文档,简单分析Linux VFS机制,以期对编写新的内核文件系统(通常是给分布式文件系统编写内核客户端)的场景有所帮助. 个人渊源 切入正文之前先扯点别的,舰队我在04年刚接触Linux时就深入分析了VFS,当时刚毕业入职一家做NAS存储的公司,需要对VFS.block device.MD等内核模块深入了解.时隔10几年之后的今天,因给一个分布式文件系统做内核客户端,重拾VFS发现一切还是熟悉的味道.这十几年过去了,内核版本从2.6到4…
Linux内存管理机制简析 本文对Linux内存管理机制做一个简单的分析,试图让你快速理解Linux一些内存管理的概念并有效的利用一些管理方法. NUMA Linux 2.6开始支持NUMA( Non-Uniform Memory Access )内存管理模式.在多个CPU的系统中,内存按CPU划分为不同的Node,每个CPU挂一个Node,其访问本地Node比访问其他CPU上的Node速度要快很多. 通过numactl -H查看NUMA硬件信息,可以看到2个node的大小和对应的CPU核,以及…
题记 JDK.Java Development Kit. 我们必须先认识到,JDK不过,不过一套Java基础类库而已,是Sun公司开发的基础类库,仅此而已,JDK本身和我们自行书写总结的类库,从技术含量来说.还是在一个层级上,它们都是须要被编译成字节码.在JRE中执行的,JDK编译后的结果就是jre/lib下的rt.jar,我们学习使用它的目的是加深对Java的理解,提高我们的Java编码水平. 本系列全部文章基于的JDK版本号都是1.7.16. 源代码下载地址:https://jdk7.jav…