1
0
mirror of https://github.com/chai2010/advanced-go-programming-book.git synced 2025-05-24 20:52:22 +00:00

调整小节

This commit is contained in:
Xargin 2018-06-09 19:38:32 +08:00
parent 1721ded6c4
commit ee3236c7a7
10 changed files with 8 additions and 7 deletions

View File

@ -0,0 +1 @@
# 5.6. Ratelimit 服务流量限制

View File

@ -1,4 +1,4 @@
# 5.8. layout 常见大型 web 项目分层 # 5.7. layout 常见大型 web 项目分层
流行的 web 框架大多数是 MVC 框架MVC 这个概念最早由 Trygve Reenskaug 在 1978 年提出,为了能够对 GUI 类型的应用进行方便扩展,将程序划分为: 流行的 web 框架大多数是 MVC 框架MVC 这个概念最早由 Trygve Reenskaug 在 1978 年提出,为了能够对 GUI 类型的应用进行方便扩展,将程序划分为:

View File

@ -1 +0,0 @@
# 5.7. Ratelimit 服务流量限制

View File

@ -0,0 +1 @@
# 5.9. 灰度发布和 A/B test

View File

@ -1 +0,0 @@
# 5.8. Dist-config 分布式配置服务

View File

@ -1,4 +1,4 @@
# 5.11. Service Discovery 服务发现 # 5.10. Service Discovery 服务发现
在微服务架构中,服务之间是存在依赖的。例如在订单系统中创建订单时,需要对用户信息做快照,这时候也就意味着这个流程要依赖: 订单、用户两个系统。当前大型网站的语境下,多服务分布式共存,单个服务也可能会跑在多台物理/虚拟机上。所以即使你知道你需要依赖的是“订单服务”这个具体的服务,实际面对的仍然是多个 ip+port 组成的集群。因此你需要: 1. 通过“订单服务”这个名字找到它对应的 ip+port 列表2. 决定把这个请求发到哪一个 ip+port 上的订单服务。 在微服务架构中,服务之间是存在依赖的。例如在订单系统中创建订单时,需要对用户信息做快照,这时候也就意味着这个流程要依赖: 订单、用户两个系统。当前大型网站的语境下,多服务分布式共存,单个服务也可能会跑在多台物理/虚拟机上。所以即使你知道你需要依赖的是“订单服务”这个具体的服务,实际面对的仍然是多个 ip+port 组成的集群。因此你需要: 1. 通过“订单服务”这个名字找到它对应的 ip+port 列表2. 决定把这个请求发到哪一个 ip+port 上的订单服务。
@ -129,7 +129,7 @@ ls /platform/order-system/create-order-service-http
当前开源的服务发现系统中,使用 zk、etcd 或者 consul无一例外地都是看中其强一致性的特性。也就是大部分人认为服务发现和分布式系统中的任务协调场景一致是一个 CP 系统。我们来想想,如果放弃了可用性会导致什么样的结果。 当前开源的服务发现系统中,使用 zk、etcd 或者 consul无一例外地都是看中其强一致性的特性。也就是大部分人认为服务发现和分布式系统中的任务协调场景一致是一个 CP 系统。我们来想想,如果放弃了可用性会导致什么样的结果。
在上面提到的几个开源组件中使用的 paxos/zab/raft 协议,若因为网络分区等原因,导致集群节点数量 < n/2 会导致整个集群不能对外提供服务网络分区是分布式系统中常见的错误如果公司的服务部署在公有云或者私有云的 docker 环境上网络问题就更为常见了一旦发生网络分区就会导致类下面这样的场景出现 在上面提到的几个开源组件中使用的 paxos/zab/raft 协议,若因为网络分区等原因,导致集群节点数量 < n/2 会导致整个集群不能对外提供服务网络分区是分布式系统中常见的错误如果公司的服务部署在公有云或者私有云的 docker 环境上网络问题就更为常见了一旦发生网络分区就会导致类下面这样的场景出现
TODO网络分区示例图 TODO网络分区示例图

View File

@ -1,4 +1,4 @@
# 5.12. Load-Balance 负载均衡 # 5.11. Load-Balance 负载均衡
本节将会讨论常见的 web 后端服务之间的负载均衡手段。 本节将会讨论常见的 web 后端服务之间的负载均衡手段。

View File

@ -0,0 +1 @@
# 5.12. Dist-config 分布式配置服务

View File

@ -1 +1 @@
# 5.9. Circuit-Breaker 熔断保护 # 5.13. Circuit-Breaker 熔断保护