分布式
_宇宙浪子_
与其遥望远方,不如说走就走~
展开
-
ETCD背后的Raft一致性算法原理
项目中使用ETCD来实现服务发现和配置信息的存储,最近我抽空研究了一下ETCD和背后的一致性算法 — Raft算法的逻辑。ETCD是什么ETCD是一个go语言实现的高可靠的KV存储系统,支持HTTP协议的PUT/GET/DELETE操作; 为了支持服务注册与发现,支持WATCH接口(通过http long poll实现); 支持KEY持有TTL属性; CAS(compare and swap)操作; 支持多key的事务操作; 支持目录操作简单的来说,ETCD可以看做是一个no sql的存转载 2020-06-29 16:03:10 · 549 阅读 · 0 评论 -
百亿流量微服务网关的设计与实现
百亿流量微服务网关的设计与实现本文从百亿流量交易系统微服务网关(API Gateway)的现状和面临的问题出发,阐述微服务架构与 API 网关的关系,理顺流量网关与业务网关的脉络,分享 API 网关知识与经验。API 网关概述“计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决。”——David Wheeler分布式服务架构、微服务架构与 API 网关1. ...转载 2020-04-13 16:56:18 · 907 阅读 · 0 评论 -
etcd 微服务注册与发现
随着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用、强一致性的服务发现存储仓库,渐渐为开发人员所关注。在云计算时代,如何让服务快速透明地接入到计算集群中,如何让共享配置信息快速被集群中的所有机器发现,更为重要的是,如何构建这样一套高可用、安全、易于部署以及响应快速的服务集群,已经成为了迫切需要解决的问题。etcd为解决这类问题带来了福音...转载 2020-01-13 17:04:29 · 1210 阅读 · 0 评论 -
微服务架构之「 API网关 」
在微服务架构的系列文章中,前面已经通过文章《架构设计之「服务注册 」》介绍过了服务注册的原理和应用,今天这篇文章我们来聊一聊「 API网关 」。「 API网关 」是任何微服务架构的重要组成部分。有了它我们可以在一个独立的模块上方便的处理一些非业务逻辑,可以让微服务本身专注在自身特定的功能上,使得每个微服务的开发更容易和更快速。后面还会有文章继续介绍 配置中心、服务框架、服务监控、服务追...转载 2019-09-03 14:26:58 · 159 阅读 · 0 评论 -
微服务架构之「 配置中心 」
在微服务架构的系列文章中,前面已经通过文章《微服务架构之「服务网关 」》介绍过了在微服务中服务网关的原理和应用,今天这篇文章我们继续来聊一聊微服务中另外一个重要模块:「 配置中心 」。后面还会继续介绍 服务框架、服务监控、服务治理等。还是那句话,只有将这些基础设施弄清楚了,微服务实践的道路才能走的稳、走的远。「配置中心」,顾名思义,就是用来统一管理项目中所有配置的系统。虽然听起来很简单,但...转载 2019-09-03 14:31:23 · 232 阅读 · 0 评论 -
不懂高性能的负载均衡设计?没关系,架构师带你飞
在软件系统的架构设计中,对集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案。负载均衡本质上是用于将用户流量进行均衡减压的,因此在互联网的大流量项目中,其重要性不言而喻。一、什么是负载均衡?早期的互联网应用,由于用户流量比较小,业务逻辑也比较简单,往往一个单服务器就能满足负载需求。随着现在互联网的流量越来越大,稍微好一点的系统,访问量就非常大了,并且系统功能也越来越复杂,那么单台服...转载 2019-09-03 14:34:53 · 128 阅读 · 0 评论 -
微服务架构之「 访问安全 」
应用程序的访问安全又是我们每一个研发团队都必须关注的重点问题。尤其是在我们采用了微服务架构之后,项目的复杂度提升了N个级别,相应的,微服务的安全工作也就更难更复杂了。并且我们以往擅长的单体应用的安全方案对于微服务来说已经不再适用了。我们必须有一套新的方案来保障微服务架构的安全。在探索微服务访问安全之前,我们还是先来回顾一下单体应用的安全是如何实现的。一、传统单体应用如何实现「访问安全」?...转载 2019-09-03 15:01:22 · 211 阅读 · 0 评论 -
互联网架构学习(二)-架构核心技术
架构高可用什么是架构的高可用从哪些方面来保证高可用硬件服务器保证高可用。软件应用程序保证高可用。高可用的手段无状态化设计,随时可进行服务的上线和下线操作。幂等性设计,重要交易需要设置幂等设计,同一个请求发送多次不会受到影响。异步设计,适当引入队列,非紧急的计算或者不需要同步返回的可以使用队列进行异步处理。缓存,容错,系统需要支持限流,失败重试等机制,确保一次不成功,会自...转载 2019-09-04 15:17:29 · 469 阅读 · 0 评论 -
gRPC分享
gRPC分享概述gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行...转载 2019-09-30 18:04:13 · 707 阅读 · 0 评论 -
微服务架构之「 服务注册 」
微服务架构是一个庞大复杂的工程,为什么说它庞大复杂呢?因为想要做好微服务,就必须先要建设好微服务所需的一系列基础设施和组件。我在前面的文章《架构设计之「 微服务入门 」》中已经初步介绍过了这些组件,包括:服务注册、服务网关、配置中心、服务框架、服务监控、服务追踪、服务治理等。只有将这些基础设施搭建完善了,微服务实践的道路才能走的稳、走的远。后面的文章中会依次把每一个基础组件都详细分析一下。...转载 2019-09-03 14:25:15 · 300 阅读 · 1 评论 -
微服务架构之「 容错隔离 」
我们知道,在单体应用的架构下一旦程序发生了故障,那么整个应用可能就没法使用了,所以我们要把单体应用拆分成具有多个服务的微服务架构,来减少故障的影响范围。但是在微服务架构下,有一个新的问题就是,由于服务数变多了,假设单个服务的故障率是不变的,那么整体微服务系统的故障率其实是提高了的。比如:假设单个服务的故障率是0.01%,也就是可用性是99.99%,如果我们总共有10个微服务,那么我们整体的...转载 2019-09-03 14:23:07 · 211 阅读 · 0 评论 -
微服务架构之「 调用链监控 」
「 调用链监控 」是在微服务兴起后才有的一种新流行的监控模式。因为在我们传统单体应用的项目中,不存在服务链/调用链的概念,所以也就根本没有调用链监控的需求了。当我们开始微服务架构之后,我们的很多服务变成分布式的了,并且我们对服务进行了拆分,拆分之后,用户的一个请求进来,会依次经过不同的服务节点进行处理,处理完成后再返回结果给用户。那么在整个处理的链条中,如果有任何一个节点出现了延迟或者问题...转载 2019-09-03 14:21:13 · 274 阅读 · 0 评论 -
微服务架构下分布式事务解决方案——阿里GTS
转自:https://www.cnblogs.com/jiangyu666/p/8522547.html1 微服务的发展微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很多互联网行业巨头、开源社区等都开始了微服务的讨论和实践。Hailo有160个不同服务构成,NetFlix有大约600个服务。国内方面...转载 2019-02-27 18:54:07 · 275 阅读 · 0 评论 -
阿里分布式事务解决方案--FESCAR
转自:https://github.com/alibaba/fescar/wiki/%E6%A6%82%E8%A7%88概览jimin edited this page4 days ago·3 revisionsFescar 是阿里巴巴开源的分布式事务中间件,以高效并且对业务0 侵入的方式,解决微服务场景下面临的分布式事务问题。1. 什么是微服务化带来...转载 2019-03-04 11:31:59 · 378 阅读 · 0 评论 -
Redis 分布式锁避免死锁的使用方式
一、什么是分布式锁要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如synchronized是共享对象头,显示锁Lock是共享某个变量(state)。进程锁:为了控制同一操作系统中多...原创 2019-05-09 11:49:24 · 4793 阅读 · 0 评论 -
Zookeeper 架构原理
转自:https://blog.csdn.net/sunjin9418/article/details/801383701.Zookeeper是什么Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态...转载 2019-07-02 18:50:46 · 155 阅读 · 0 评论 -
Apache dubbo RPC框架 中文文档
阿里在2017年重启dubbo框架的开发,2018年初合并当当网的dubbox分支,然后进入Apache基金会孵化,2019年5月20日宣布孵化完成。Apachedubbo RPC框架 中文文档:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html...原创 2019-07-04 16:29:25 · 396 阅读 · 0 评论 -
微服务架构-实现技术之三大关键要素1服务治理:服务注册中心+服务发布与注册+服务发现与调用+服务监控
目录一、服务注册中心:注册中心核心功能+实现策略1.注册中心核心功能2.注册中心实现策略二、服务发布与注册三、服务发现与调用四、服务监控基...转载 2019-08-07 19:07:12 · 1182 阅读 · 0 评论 -
微服务技术架构、监控、Docker、服务治理等体系
1.什么是微服务1)一组小的服务(大小没有特别的标准,只要同一团队的工程师理解服务的标识一致即可)2)独立的进程(j...转载 2019-08-12 14:09:06 · 372 阅读 · 0 评论 -
保证分布式系统数据一致性的6种方案
转自: https://www.cnblogs.com/soundcode/p/5590710.html编者按:本文由「高可用架构后花园」群讨论整理而成。有人的地方,就有江湖有江湖的地方,就有纷争问题的起源在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性? 具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要么同时成功...转载 2018-12-04 10:29:29 · 456 阅读 · 0 评论