Architechure
文章平均质量分 65
huojiao2006
这个作者很懒,什么都没留下…
展开
-
分布式架构的演进
作者:李小翀链接:https://www.zhihu.com/question/22764869/answer/31277656来源:知乎著作权归作者所有,转载请联系作者获得授权。系统架构演化历程-初始阶段架构<img data-rawheight="367" data-rawwidth="516" src="转载 2016-12-15 11:15:36 · 343 阅读 · 0 评论 -
浅谈异步消息队列模型
什么是消息队列?所谓消息队列,就是一个以队列数据结构为基础的一个实体,这个实体是真实存在的,比如程序中的数组,数据库中的表,或者redis等等,都可以。 首先我们说说为什么要使用队列,什么情况下才会使用队列?我的理解是,那些实时性要求不高,且比较耗时的任务,是队列的最佳应用场景。比如说我在某网站注册一个账号,当我的信息入库注册成功后,网站需要发送一封激活邮件,让我激活账号,而这个发邮...转载 2018-09-17 13:12:14 · 395 阅读 · 0 评论 -
RPC、REST API深入理解
一:RPCRPC 即远程过程调用(Remote Procedure Call Protocol,简称RPC),像调用本地服务(方法)一样调用服务器的服务(方法)。 通常的实现有 XML-RPC , JSON-RPC , 通信方式基本相同, 所不同的只是传输数据的格式.RPC是分布式架构的核心,按响应方式分如下两种: 同步调用:客户端调用服务方方法,等待直到服务方返回结果或者超时,再继续...转载 2018-08-29 16:52:35 · 11524 阅读 · 0 评论 -
三种主流的Web服务实现方案(REST+SOAP+XML-RPC)简述及比较
目前知道的三种主流的Web服务实现方案为:REST:表象化状态转变 (软件架构风格) SOAP:简单对象访问协议 XML-RPC:远程过程调用协议 下面分别作简单介绍:REST:表征状态转移(Representational State Transfer),采用Web 服务使用标准的 HTTP 方法 (GET/PUT/POST/DELETE) 将所有 Web 系统的服务抽象为资源...转载 2018-08-29 14:21:03 · 240 阅读 · 0 评论 -
gRPC介绍
1.概述gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个 ...转载 2018-07-31 15:15:13 · 1372 阅读 · 0 评论 -
微服务相关概念
1.接口调用接口调用通常包含两个部分,序列化和通信协议。 常见的序列化协议包括json、xml、hession、protobuf、thrift、text、bytes等; 通信协议比较流行的是http、soap、websockect,RPC通常基于TCP实现,常用框架例如netty。 RESTful通常采用http+JSON实现。 JSON-RPC是指通信协议采用二进制方式,而不是htt...转载 2018-08-27 22:51:14 · 171 阅读 · 0 评论 -
Confd+etcd实现高可用自动发现
Confd是一个轻量级的配置管理工具。通过查询Etcd,结合配置模板引擎,保持本地配置最新,同时具备定期探测机制,配置变更自动reload。 其后端支持的数据类型有:etcd、consul、vault、environment variables、redis、zookeeper、dynamodb、stackengine、rancher。不过一般使用Confd和etcd的配合使用比较多。 其常...转载 2018-07-23 11:49:40 · 2200 阅读 · 0 评论 -
数据库连接池的概念
数据库连接池概述: 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为...转载 2018-07-24 10:49:05 · 651 阅读 · 0 评论 -
保证分布式系统数据一致性的6种方案
问题的起源在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性?具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要么同时成功;要么同时失败。A、B、C 可能是多个不同部门开发、部署在不同服务器上的远程服务。在分布式系统来说,如果不想牺牲一致性,CAP 理论告诉我们只能放弃可用性,这显然不能接受。为了便于讨论问题,先简单介转载 2017-03-06 17:39:03 · 912 阅读 · 0 评论 -
一步步构建大型网站架构
之前我简单向大家介绍了各个知名大型网站的架构,MySpace的五个里程碑、Flickr的架构、YouTube的架构、PlentyOfFish的架构、WikiPedia的架构。这几个都很典型,我们可以从中获取很多有关网站架构方面的知识,看了之后你会发现你原来的想法很可能是狭隘的。 今天我们来谈谈一个网站一般是如何一步步来构建起系统架构的,虽然我们希望网站一开始就能有一个很好的架构,但马克思转载 2017-03-06 15:30:01 · 404 阅读 · 0 评论 -
微服务架构的优势与不足
英文原文:Introduction to Microservices 这篇文章作者是Chris Richardson,他是早期基于Java的Amazonite EC2 PaaS平台CloudFoundry.com的创始人。现在他为企业提供如何开发和部署应用的咨询服务。他也经常在http://microservices.io上发表有关微服务的文章。 微服务正在博客、社交媒体讨转载 2017-03-06 15:25:15 · 382 阅读 · 0 评论 -
微服务架构下的数据一致性:概念及相关模式
原文转自:EAII企业架构创新研究院《微服务架构下的数据一致性保证(一)》,行文结构与原文略有不同。从2014年开始,微服务逐渐进入大家的实现,被认为是下一代实现信息化的有效手段。设计到系统,其中绕不开的就是数据一致性,从本地事务,到后来的分布式事务,都能够有效的保证数据一致性。但是在微服务架构中,这两种方式都不是最好的选择。1. 使用本地事务和分布式事务保证一致性在传统的转载 2017-03-06 15:00:45 · 392 阅读 · 0 评论 -
并发编程模型总结
并发模型有两种,一种是并行工作者模型,一种是流水线模型。一、所谓并行工作者模型,举个例子来说,就好比汽车厂里面的工人,每个工人专门负责一辆车子的生产,从头到尾负责所有的工作。就好像是线程,拿到了一个请求,后面这个请求的所有工作都由这个线程来处理,直到所有这个请求的所有工作都结束。nginx的workprocessor应该就是这种模型,某个linux进程拿到了用户请求,然后负责这个请求的处理,高...转载 2018-09-25 22:33:09 · 162 阅读 · 0 评论