摘要:很多测试人可能对RESTful的概念还是很模糊的,那么到底什么是RESTful?百度百科给出的一句话描述是一个架构样式的网络系统,似乎还是有点不懂?OK,说到Restful,我们一般从REST开始说起。 REST 表征状态转移。是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RE
阅读全文
摘要:本文总结了一些REST风格构架设计的经验,介绍了REST架构的语言生态环境,状态表述转移,无状态服务器等特点,并通过举例Google来说明REST风格的味道。 REST(Representational State Transfer)是HTTP协议的作者Roy Fielding博士在其博士论文中提出
阅读全文
摘要:在请求中传递SessionID被普遍认为是unRESTful的,而将用户的credentials包含在每个请求里又是一种非常RESTful的做法。这样一个问题经常会造成困扰。本文就REST的一些概念进行了探讨,解释了REST架构中的状态,无状态(stateless),以及两种状态的区别 今天早上在Y
阅读全文
摘要:在这篇文章中我们将讨论的Java轻量级框架Dropwizard和Spring Boot的相似性和差异。 首先,这是一个选择自由和速度需要,无论你在Dropwizard和Spring Boot选择哪个,这两个框架自身都显得有点固执己见,他们都坚信约定优于配置,那么是如何固执呢?你会发现,在我们进行比较
阅读全文
摘要:微服务确实很受欢迎,但是对于微服务的误解也是事实,本文对这些误解一一来介绍下: 一、微服务不够“微”? 尽管微服务定义的很明确,但是开发者社区对它的解释却颇有争议,主要的一些问题如下: 1.它是否是单体架构的代表? 2.它是否是单体服务的代表? 3.它是否是逻辑功能的组合? 下面让我们以银行应用为例
阅读全文
摘要:本文仅针对RabbitMQ与Redis做队列应用时的情况进行对比具体采用什么方式实现,还需要取决于系统的实际需求 简要介绍 RabbitMQ RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现
阅读全文
摘要:三年多前,我在腾讯负责的活动运营系统,因为业务流量规模的数倍增长,系统出现了各种各样的异常,那个时候,我7*24小时地没日没夜处理告警,周末和凌晨也经常上线,疲于奔命。后来,当时的老领导对我说:你不能总扮演一个“救火队长”的角色, 要尝试从系统整体层面思考产生问题的根本原因,然后推进解决。我幡然醒悟
阅读全文
摘要:问题来源: 创建一个游戏系统,其将运行在互联网的环境中。客户端通过WWW服务或特定的客户端软件连接到游戏服务器,随着流量的增加,系统不断的膨胀,最终后台数据、业务逻辑被分布式的部署。然而相比中心化的系统,复杂度被无可避免的增大了,该如何降低各个组件之间的耦合度。 挑战: 需要保证可伸缩性、可维护性、
阅读全文
摘要:对于Thrift服务化的改造,主要是客户端,可以从如下几个方面进行: 1.服务端的服务注册,客户端自动发现,无需手工修改配置,这里我们使用zookeeper,但由于zookeeper本身提供的客户端使用较为复杂,因此采用curator-recipes工具类进行处理服务的注册与发现。 2.客户端使用连
阅读全文
摘要:RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。 RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。 RPC 可基于 HTTP
阅读全文
摘要:唯品会RPC服务框架与容器化演进 唯品会RPC服务框架与容器化演进 今天要讲的题目比较热,但也比较“简单”,因为有很多公司大型系统已经在用。我的演讲内容包括两个方面:一个是分布式架构的实践,另外一个是服务体系中容器化怎么做。 分布式服务框架实践 可能大家很多都听过服务化,或者叫微服务,但是这个“微”
阅读全文
摘要:RPC架构与REST架构 RPC:RPC将服务器看作一些列动作的集合(需要做某件事) REST:将服务器看作分布式对象集合,客户端通过调用这些对象上的方法来执行特定的任务,组件交互的可伸缩性、接口的通用性、组件的独立部署、以及用来减少交互延迟、增强安全性、封装遗留系统的中间组件 即对服务的思考,RP
阅读全文
摘要:高可用性集群解释:一般是指当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。还指可以将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的运行。今天来做个Heartbeat+DRBD+NFS的高可用文件系统1、实验VMware虚拟机2台 同时安装CentOS 6.6 x8
阅读全文
摘要:一、DRBD简介 DRBD的全称为:Distributed ReplicatedBlock Device(DRBD)分布式块设备复制,DRBD是由内核模块和相关脚本而构成,用以构建高可用性的集群。其实现方式是通过网络来镜像整个设备。你可以把它看作是一种网络RAID。它允许用户在远程机器上建立一个本地
阅读全文
摘要:DRBD是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。 DRBD是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。 外文名DRBDdrbdadm高级管理工具drbdsetup置装载进kernel的DRBD模块drbdmeta管理META数据结构 目
阅读全文
摘要:采用分布式系统架构是由于业务需求决定的,若系统要求具备如下特性,便可考虑采用分布式架构来实现: 1.数据存储的分区容错,冗余 2.应用的大访问、高性能要求 3.应用的高可用要求,故障转移 分布式系统遵循几个基本原则 1.CAP原理 CAP Theorem,CAP原理中,有三个要素: 一致性(Cons
阅读全文
摘要:本地文件系统如ext3,reiserfs等(这里不讨论基于内存的文件系统),它们管理本地的磁盘存储资源、提供文件到存储位置的映射,并抽象出一套文件访问接口供用户使用。但随着互联网企业的高速发展,这些企业对数据存储的要求越来越高,而且模式各异,如淘宝主站的大量商品图片,其特点是文件较小,但数量巨大;而
阅读全文
摘要:使用Spring Session做分布式会话管理 在Web项目开发中,会话管理是一个很重要的部分,用于存储与用户相关的数据。通常是由符合session规范的容器来负责存储管理,也就是一旦容器关闭,重启会导致会话失效。因此打造一个高可用性的系统,必须将session管理从容器中独立出来。而这实现方案有
阅读全文
摘要:转载请用注明:@ni掌柜 nileader@gmail.com 在使用zookeeper过程中,我们知道,会有dataDir和dataLogDir两个目录,分别用于snapshot和事务日志的输出(默认情况下只有dataDir目录,snapshot和事务日志都保存在这个目录中,关于这两个目录的详细说
阅读全文
摘要:1.1. web分布式系统的设计原则 搭建和运营一个可伸缩的web站点或者应用程序意味着什么?在原始层面上这仅仅是用户通过互联网连接到远程资源-使系统变得可伸缩的部分是将资源、或者访问的资源,分布于多个服务器上。 像生活中大多数事情一样,当构建一个web服务时花时间提前做好计划从长远看来还是很有帮助
阅读全文