Skip to content

Commit

Permalink
upadte pdf and mobi files
Browse files Browse the repository at this point in the history
  • Loading branch information
oopsguy committed Oct 9, 2017
1 parent 88a6634 commit 9b2d8f0
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 4 deletions.
4 changes: 2 additions & 2 deletions 1-introduction-to-microservices.md
Expand Up @@ -54,7 +54,7 @@

![图 1-2、一个单体应用分解成微服务][image-2]

应用程序的每个功能区域现在都由自己的微服务实现。此外,Web 应用程序被划分为一组更简单的应用。例如,以我们的出租车为例,一个是乘客的应用,一个是司机的应用。这使得它更容易地为特定的用户、司机、设备或者专门的用例部署不同的场景。每个后端服务暴露一个 REST API,大部分的服务消费的 API 由其他服务提供。例如,Driver Management 使用了 Notification 服务器来通知可用司机一个可选路程。UI 服务调用了其他服务来渲染页面。服务也可以使用异步、基于消息的通信。本电子书后面将会[更加详细](3-inter-process-communication.md)介绍服务间通信。
应用程序的每个功能区域现在都由自己的微服务实现。此外,Web 应用程序被划分为一组更简单的应用。例如,以我们的出租车为例,一个是乘客的应用,一个是司机的应用。这使得它更容易地为特定的用户、司机、设备或者专门的用例部署不同的场景。每个后端服务暴露一个 REST API,大部分服务消费的 API 由其他服务提供。例如,Driver Management 使用了 Notification 服务器来通知可用司机一个可选路程。UI 服务调用了其他服务来渲染页面。服务也可以使用异步、基于消息的通信。本电子书后面将会[更加详细](3-inter-process-communication.md)介绍服务间通信。

一些 REST API 也暴露给移动端应用以供司机和乘客使用。然而,应用不能直接访问后端服务。相反,他们之间的通信是由一个称为 [API 网关][10](API Gateway)的中介负责。API 网关负责负载均衡、缓存、访问控制、API 计量和监控,[可以通过使用 NGINX 来实现][11][第二章](2-using-an-api-gateway.md)将详细讨论 API 网关。

Expand Down Expand Up @@ -92,7 +92,7 @@
<a id="the-drawbacks-of-microservices"></a>

## 1.5、微服务的缺点
就像 Fred Brooks 30 年前左右写的[《人月神话》][20]说的,**没有银弹**。与其他技术一样,微服务架构模式也存在着缺点。其中一个缺点就是名称本身。微服务这个术语的重点过多偏向于服务的规模。事实上,有些开发者主张构建极细粒度的 10 至 100 LOC(代码行) 服务,虽然这对于小型服务可能比较好,但重要的是要记住,小型服务只是一种手段,而不是主要目标。微服务的目标在于充分分解应用程序以方便应用敏捷开发和部署。
就像 Fred Brooks 30 年前左右写的[《人月神话》][20]说的,**没有银弹**。与其他技术一样,微服务架构模式也存在着缺点。其中一个缺点就是名称本身。微服务这个术语的重点过多偏向于服务的规模。事实上,有些开发者主张构建极细粒度的 10 至 100 LOC(代码行) 服务,虽然这对于小型服务可能比较好,但重要的是要记住,小型服务只是一种手段,而不是主要目标。微服务的目标在于充分分解应用程序以方便应用敏捷开发和部署。

微服务另一个主要缺点是由于微服务是一个分布式系统,其使得整体变得复杂。开发者需要选择和实现基于消息或者 RPC 的进程间通信机制。此外,由于目标请求可能很慢或者不可用,他们必须要编写代码来处理局部故障。虽然这些并不是很复杂、高深,但模块间通过语言级方法/过程调用相互调用,这比单体应用要复杂得多。

Expand Down
2 changes: 1 addition & 1 deletion 2-using-an-api-gateway.md
Expand Up @@ -30,7 +30,7 @@
GET api.company.com/productdetails/productId
```

负载均衡器将请求路由到几个相同应用程序实例中的其中一个。之后,应用程序查询各个数据库表并返回响应给客户端。相比之下,当使用微服务架构时,产品详细页面上展示的数据来自多个微服务。以下是一些的微服务,可能拥有给定产品页面展示的数据:
负载均衡器将请求路由到几个相同应用程序实例中的其中一个。之后,应用程序查询各个数据库表并返回响应给客户端。相比之下,当使用微服务架构时,产品详细页面上展示的数据来自多个微服务。以下是一些微服务,可能拥有给定产品页面展示的数据:

- **订单服务** — 订单历史
- **目录(catalog)服务** — 基本的产品信息,如产品名称、图片和价格
Expand Down
4 changes: 3 additions & 1 deletion README.md
@@ -1,8 +1,10 @@
# 《微服务:从设计到部署》中文版
本书为 Nginx 微服务电子书 [Designing and Deploying Microservices](https://www.nginx.com/resources/library/designing-deploying-microservices/) 中文版,其从不同角度全面介绍了微服务:微服务的优点与缺点、API 网关、进程间通信(IPC)、服务发现、事件驱动数据管理、微服务部署策略、重构单体。
本书为 Chris Richardson 所著的微服务电子书 [Designing and Deploying Microservices](https://www.nginx.com/resources/library/designing-deploying-microservices/) 中文版,其从不同角度全面介绍了微服务:微服务的优点与缺点、API 网关、进程间通信(IPC)、服务发现、事件驱动数据管理、微服务部署策略、重构单体。

- [文档仓库:https://github.com/oopsguy/microservices-from-design-to-deployment-chinese](https://github.com/oopsguy/microservices-from-design-to-deployment-chinese)
- [在线阅读:http://oopsguy.com/books/microservices](http://oopsguy.com/books/microservices/index.html)
- [PDF 离线版:http://oopsguy.com/books/microservices/designing-and-deploying-microservices.pdf](http://oopsguy.com/books/microservices/designing-and-deploying-microservices.pdf)
- [MOBI 离线版:http://oopsguy.com/books/microservices/designing-and-deploying-microservices.mobi](http://oopsguy.com/books/microservices/designing-and-deploying-microservices.mobi)

本书对 Nginx 的描述不是很多,主要针对微服务领域。如果您想了解更多关于 Nginx 的内容,请参阅正在更新的 **[Nginx 中文文档](https://github.com/oopsguy/nginx-docs)**

Expand Down
Binary file modified resources/cover.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 9b2d8f0

Please sign in to comment.