微服务
文章平均质量分 75
沈鸿斌
爱生活,爱Coding
展开
-
微服务架构(一):单一应用架构与微服务架构
工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。这篇文章是对 http://microservices.io/patterns/monolithic.html 和 http://microservices.io/patterns/microservices.html 的翻译 2017-04-01 19:34:42 · 9744 阅读 · 0 评论 -
如何写一个RPC框架(三):服务注册与服务发现
在后续一段时间里, 我会写一系列文章来讲述如何实现一个RPC框架。 这是系列第三篇文章, 主要讲述了服务注册和服务发现这一块。在系列的第一篇文章中提到,我们的RPC框架需要有一个服务注册中心。 通过这个中心,服务可以把自己的信息注册进来,也可以获取到别的服务的信息(例如ip、端口、版本信息等)。这一块有个统一的名称,叫服务发现。对于服务发现,现在有很多可供选择的工具,例如zookeeper, et原创 2017-11-01 23:29:03 · 3563 阅读 · 1 评论 -
分布式一致性之Raft算法
最近工作中用到了Consul,在学习过程中,发现它是基于Raft来做分布式一致性的。正巧以前学习过Raft, 那么就正好借此机会复习一下吧!原创 2017-09-02 19:44:29 · 1895 阅读 · 3 评论 -
Consul实现原理系列文章3: Consul的整体架构
工作中用到了Consul来做服务发现,之后一段时间里,我会陆续发一些文章来讲述Consul实现原理。在前几篇文章介绍完了Consul用到的两个关键性东西Raft和Gossip之后,这篇文章会讲述Consul的整体架构。本文基于一篇别的译文,并做了一些改进和完善。术语表代理(agent): 代理是Consul集群上每个成员的守护进程,它是由consul agent开始运行。代理能够以客户端或服务原创 2017-09-07 22:37:01 · 6067 阅读 · 3 评论 -
Consul实现原理系列文章2: 用Gossip来做集群成员管理和消息广播
工作中用到了Consul来做服务发现,之后一段时间里,我会陆续发一些文章来讲述Consul实现原理。这篇文章会讲述Consul是如何使用Gossip来做集群成员管理和消息广播的。Consul使用Gossip协议来管理集群中的成员关系,以及把消息广播到集群中。而这些Gossip的特性是利用Serf这个lib来实现的。下面,我们先来看看什么是Gossip协议。Gossip协议 在学习Gossip的原创 2017-09-06 22:47:18 · 1755 阅读 · 0 评论 -
微服务架构(十): 一些别的问题
除了前面的文章所提到的话题,还有一些别的在微服务架构中非常重要的问题,比如安全测试(单个组件的测试、集成测试)CI/CD(持续集成,持续交付/持续部署)这些话题,在这占个坑,留给日后再讨论。原创 2017-04-04 17:44:00 · 923 阅读 · 0 评论 -
微服务架构(九): 数据管理
工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,这篇文章主要讲述了微服务架构中的数据管理。翻译 2017-04-04 17:19:39 · 3322 阅读 · 0 评论 -
微服务架构(八): 断路器
工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。这篇文章主要讲述了微服务架构中的断路器。翻译和整理自:http://microservices.io/patterns/reliability/circuit-breaker.html翻译 2017-04-04 14:06:43 · 3554 阅读 · 0 评论 -
微服务架构(七): 服务发现与服务注册
工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。这篇文章主要讲述了微服务架构中的API Gateway。翻译和整理自:http://microservices.io/patterns/client-side-discovery.htmlhttp://翻译 2017-04-04 13:21:13 · 10544 阅读 · 0 评论 -
微服务架构(六): API Gateway
工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。这篇文章主要讲述了微服务架构中的API Gateway。翻译和整理自:http://microservices.io/patterns/apigateway.html一、问题微服翻译 2017-04-03 22:57:23 · 5375 阅读 · 0 评论 -
微服务架构(五): 服务间通信方式
工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。这篇文章主要讲述了微服务架构中服务间的通信方式。翻译和整理自:http://microservices.io/patterns/communication-style/rpi.htmlhttp://mi翻译 2017-04-03 22:16:15 · 16355 阅读 · 4 评论 -
微服务架构(四): 横切关注点/普适性问题
工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。这篇文章主要讲述了微服务架构的应用普遍需要关注的点。翻译和整理自:http://microservices.io/patterns/microservice-chassis.htmlhttp://micro翻译 2017-04-03 21:31:23 · 1752 阅读 · 0 评论 -
微服务架构(三): 部署
工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。这篇文章主要讲述了部署一个微服务架构的应用有哪些可选方案。翻译和整理自:http://microservices.io/patterns/deployment/single-service-per-翻译 2017-04-02 21:34:36 · 4284 阅读 · 1 评论 -
微服务架构(二): 如何把应用分解成多个服务
工作中使用了微服务,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。上一篇文章详细说明了单一应用架构与微服务架构各自的优缺点,这篇文章是对 http://microservices.io/patterns/decomposition/decompose-by-business-capabi翻译 2017-04-02 13:59:51 · 18641 阅读 · 0 评论 -
对微信《Scalable Overload Control for Large-scale Microservice Architecture》论文的解读
这几年微服务大行其道,随之而来也伴随着很多问题: 服务注册和发现(常见解决方案如Consul, ZK, etcd)熔断和降级 (如Hystrix)…在服务过载时, 一个常见的解决方案是熔断。以前的熔断方案基本都是各个服务独自处理的, 即如果一个服务无法处理所有的请求, 那么就抛弃一部分请求。这种粗暴的处理方式并不能缓解整个系统的负载, 并且浪费了很多计算资源,比如以下场景:假设...原创 2018-08-12 22:02:26 · 1046 阅读 · 1 评论