{"id":13461647,"url":"https://github.com/DocsHome/microservices","last_synced_at":"2025-03-24T22:34:45.197Z","repository":{"id":37431350,"uuid":"100061216","full_name":"DocsHome/microservices","owner":"DocsHome","description":"Microservices from Design to Deployment 中文版 《微服务：从设计到部署》","archived":false,"fork":false,"pushed_at":"2019-07-18T15:46:58.000Z","size":7150,"stargazers_count":5135,"open_issues_count":2,"forks_count":1017,"subscribers_count":262,"default_branch":"master","last_synced_at":"2024-10-29T15:26:08.927Z","etag":null,"topics":["api-gateway","book","chinese","chinese-translation","cloud","ebook","ipc","microservice","microservices","nginx","translation"],"latest_commit_sha":null,"homepage":"http://oopsguy.com/books/microservices/index.html","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DocsHome.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-11T18:43:11.000Z","updated_at":"2024-10-29T12:12:30.000Z","dependencies_parsed_at":"2022-08-03T03:15:44.893Z","dependency_job_id":null,"html_url":"https://github.com/DocsHome/microservices","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DocsHome%2Fmicroservices","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DocsHome%2Fmicroservices/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DocsHome%2Fmicroservices/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DocsHome%2Fmicroservices/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DocsHome","download_url":"https://codeload.github.com/DocsHome/microservices/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245061393,"owners_count":20554563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-gateway","book","chinese","chinese-translation","cloud","ebook","ipc","microservice","microservices","nginx","translation"],"created_at":"2024-07-31T11:00:50.402Z","updated_at":"2025-03-24T22:34:45.172Z","avatar_url":"https://github.com/DocsHome.png","language":null,"readme":"# 《微服务：从设计到部署》\n\n本书是 Chris Richardson 和 Floyd Smith 联合编写的微服务电子书 **[Designing and Deploying Microservices](https://www.nginx.com/resources/library/designing-deploying-microservices/)** 的中文译本，其从不同角度全面介绍了微服务：微服务的优点与缺点、API 网关、进程间通信（IPC）、服务发现、事件驱动数据管理、微服务部署策略、重构单体。\n\n- [Github：https://github.com/docshome/microservices](https://github.com/docshome/microservices)\n- [GitBook：https://www.gitbook.com/book/docshome/microservices/details](https://www.gitbook.com/book/docshome/microservices/details)\n\n本书对 Nginx 的描述不是很多，主要针对微服务领域。如果您想了解更多关于 Nginx 的内容，请参阅正在更新的 **[Nginx 中文文档](https://github.com/oopsguy/nginx-docs)**。\n\n## 目录\n\n### [0、前言](0-foreword.md)\n\n### [1、微服务简介](1-introduction-to-microservices.md)\n\n- [1.1、构建单体应用](1-introduction-to-microservices.md#building-monolithic-applications)\n- [1.2、走向单体地狱](1-introduction-to-microservices.md#marching-toward-monolithic-hell)\n- [1.3、微服务-解决复杂问题](1-introduction-to-microservices.md#tackling-the-complexity)\n- [1.4、微服务的优点](1-introduction-to-microservices.md#the-benefits-of-microservices)\n- [1.5、微服务的缺点](1-introduction-to-microservices.md#the-drawbacks-of-microservices)\n- [1.6、总结](1-introduction-to-microservices.md#summary)\n- [微服务实战：NGINX Plus 作为反向代理服务器](1-introduction-to-microservices.md#microservices-in-action)\n\n### [2、使用 API 网关](2-using-an-api-gateway.md)\n\n- [2.1、简介](2-using-an-api-gateway.md#introduction)\n- [2.2、客户端与微服务直接通信](2-using-an-api-gateway.md#direct-client-to-microservice-communication)\n- [2.3、使用 API 网关](2-using-an-api-gateway.md#using-an-api-gateway)\n- [2.4、API 网关的优点与缺点](2-using-an-api-gateway.md#benefits-and-drawbacks-of-an-api-gateway)\n- [2.5、实施 API 网关](2-using-an-api-gateway.md#implementing-an-api-gateway)\n    - [2.5.1、性能与扩展](2-using-an-api-gateway.md#performance-and-scalability)\n    - [2.5.2、使用响应式编程模型](2-using-an-api-gateway.md#using-a-reactive-programming-model)\n    - [2.5.3、服务调用](2-using-an-api-gateway.md#service-invocation)\n    - [2.5.4、服务发现](2-using-an-api-gateway.md#service-discovery)\n    - [2.5.5、处理局部故障](2-using-an-api-gateway.md#handling-partial-failures)\n- [2.6、总结](2-using-an-api-gateway.md#summary)\n- [微服务实战：NGINX Plus 作为 API 网关](2-using-an-api-gateway.md#microservices-in-action)\n\n### [3、进程间通信](3-inter-process-communication.md)\n\n- [3.1、简介](3-inter-process-communication.md#introduction)\n- [3.2、交互方式](3-inter-process-communication.md#interaction-styles)\n- [3.3、定义 API](3-inter-process-communication.md#defining-apis)\n- [3.4、演化 API](3-inter-process-communication.md#evolving-apis)\n- [3.5、处理局部故障](3-inter-process-communication.md#handling-partial-failure)\n- [3.6、IPC 技术](3-inter-process-communication.md#ipc-technologies)\n- [3.7、异步、基于消息的通信](3-inter-process-communication.md#asynchronous-message-based-communication)\n- [3.8、同步的请求/响应 IPC](3-inter-process-communication.md#synchronous-request-response-ipc)\n    - [3.8.1、REST](3-inter-process-communication.md#rest)\n    - [3.8.2、Thrift](3-inter-process-communication.md#thrift)\n- [3.9、消息格式](3-inter-process-communication.md#message-formats)\n- [3.10、总结](3-inter-process-communication.md#summary)\n- [微服务实战：NGINX 与应用程序架构](3-inter-process-communication.md#microservices-in-action)\n\n### [4、服务发现](4-service-discovery.md)\n\n- [4.1、为何使用服务发现](4-service-discovery.md#why-use-service-discovery)\n- [4.2、客户端发现模式](4-service-discovery.md#the-client-side-discovery-pattern)\n- [4.3、服务端发现模式](4-service-discovery.md#the-server-side-discovery-pattern)\n- [4.4、服务注册中心](4-service-discovery.md#the-service-registry)\n- [4.5、服务注册方式](4-service-discovery.md#service-registration-options)\n- [4.6、自注册模式](4-service-discovery.md#the-self-registration-pattern)\n- [4.7、第三方注册模式](4-service-discovery.md#the-third-party-registration-pattern)\n- [4.8、总结](4-service-discovery.md#summary)\n- [微服务实战：灵活的 NGINX](4-service-discovery.md#microservices-in-action)\n\n### [5、事件驱动数据管理](5-event-driven-data-management-for-microservices.md)\n\n- [5.1、微服务与分布式数据管理问题](5-event-driven-data-management-for-microservices.md#microservices-and-the-problem-of-distributed-data-management)\n- [5.2、事件驱动架构](5-event-driven-data-management-for-microservices.md#event-driven-architecture)\n- [5.3、实现原子性](5-event-driven-data-management-for-microservices.md#achieving-atomicity)\n- [5.4、使用本地事务发布事件](5-event-driven-data-management-for-microservices.md#publishing-events-using-local-transactions)\n- [5.5、挖掘数据库事务日志](5-event-driven-data-management-for-microservices.md#mining-a-database-transaction-log)\n- [5.6、使用事件溯源](5-event-driven-data-management-for-microservices.md#using-event-sourcing)\n- [5.7、总结](5-event-driven-data-management-for-microservices.md#summary)\n- [微服务实战：NGINX 与存储优化](5-event-driven-data-management-for-microservices.md#microservices-in-action)\n\n### [6、选择部署策略](6-choosing-deployment-strategy.md)\n\n- [6.1、动机](6-choosing-deployment-strategy.md#motivations)\n- [6.2、单主机多服务实例模式](6-choosing-deployment-strategy.md#multiple-service-instances-per-host-pattern)\n- [6.3、每个主机一个服务实例模式](6-choosing-deployment-strategy.md#service-instance-per-host-pattern)\n    - [6.3.1、每个虚拟机一个服务实例模式](6-choosing-deployment-strategy.md#service-instance-per-virtual-machine-pattern)\n    - [6.3.2、每个容器一个服务实例模式](6-choosing-deployment-strategy.md#service-instance-per-container-pattern)\n- [6.4、Serverless 部署](6-choosing-deployment-strategy.md#serverless-deployment)\n- [6.5、总结](6-choosing-deployment-strategy.md#summary)\n- [微服务实战：使用 NGINX 在不同主机上部署微服务](6-choosing-deployment-strategy.md#microservices-in-action)\n\n### [7、重构单体应用为微服务](7-refactoring-a-monolith-into-microservices.md)\n\n- [7.1、微服务重构概述](7-refactoring-a-monolith-into-microservices.md#overview-of-refactoring-to-microservices)\n- [7.2、策略一：停止挖掘](7-refactoring-a-monolith-into-microservices.md#strategy-1-Stop-digging)\n- [7.3、策略二：前后端分离](7-refactoring-a-monolith-into-microservices.md#strategy-2-split-frontend-and-backend)\n- [7.4、策略三：提取服务](7-refactoring-a-monolith-into-microservices.md#strategy-3-extract-services)\n    - [7.4.1、优先将哪些模块转换为微服务](7-refactoring-a-monolith-into-microservices.md#prioritizing-which-modules-to-convert-into-services)\n    - [7.4.2、如何提取模块](7-refactoring-a-monolith-into-microservices.md#how-to-extract-a-module)\n- [7.5、总结](7-refactoring-a-monolith-into-microservices.md#summary)\n- [微服务实战：使用 NGINX 征服单体](7-refactoring-a-monolith-into-microservices.md#microservices-in-action)\n\n## 感谢\n\n- 感谢 Chris Richardson 和 Floyd Smith。\n- 感谢 Github 网友的 [issue](https://github.com/DocsHome/microservices/issues) 和 [PR](https://github.com/DocsHome/microservices/pulls)\n- [Contributor 名单](https://github.com/DocsHome/microservices/graphs/contributors)\n\n## 许可\n\n![](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)\n\n本作品采用[知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议](http://creativecommons.org/licenses/by-nc-sa/4.0/)进行许可。","funding_links":[],"categories":["Others","Uncategorized","Misc","书籍","nginx"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDocsHome%2Fmicroservices","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDocsHome%2Fmicroservices","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDocsHome%2Fmicroservices/lists"}