{"version":1,"pages":[{"id":"-LAljZc2-t0dut6vcu0t","title":"Introduction","pathname":"/microservices/gitbook2","siteSpaceId":"sitesp_xslvt","description":""},{"id":"-LjbauwiYkMFoKU1JSni","title":"0、前言","pathname":"/microservices/gitbook2/0-qian-yan","siteSpaceId":"sitesp_xslvt","description":""},{"id":"-LjbauwuHaVr3KLU45WP","title":"1、微服务简介","pathname":"/microservices/gitbook2/1-wei-fu-wu-jian-jie","siteSpaceId":"sitesp_xslvt","description":""},{"id":"-Ljbaux8VbJ8XdpLtW8u","title":"1.1、构建单体应用","pathname":"/microservices/gitbook2/1-wei-fu-wu-jian-jie/1.1-gou-jian-dan-ti-ying-yong","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-Ljbaux9ye8imuQrtteM","title":"1.2、走向单体地狱","pathname":"/microservices/gitbook2/1-wei-fu-wu-jian-jie/1.2-zou-xiang-dan-ti-di-yu","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-LjbauxAWzaP3TdskkDz","title":"1.3、微服务-解决复杂问题","pathname":"/microservices/gitbook2/1-wei-fu-wu-jian-jie/1.3-wei-fu-wu-jie-jue-fu-za-wen-ti","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-LjbauxBAXhju_R7Pvkb","title":"1.4、微服务的优点","pathname":"/microservices/gitbook2/1-wei-fu-wu-jian-jie/1.4-wei-fu-wu-de-you-dian","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-LjbauxCPv63JpGeUNyh","title":"1.5、微服务的缺点","pathname":"/microservices/gitbook2/1-wei-fu-wu-jian-jie/1.5-wei-fu-wu-de-que-dian","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-LjbauxDsTkWn482pXAj","title":"1.6、总结","pathname":"/microservices/gitbook2/1-wei-fu-wu-jian-jie/1.6-zong-jie","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-LjbauxENdVu19OqgECo","title":"微服务实战：NGINX Plus 作为反向代理服务器","pathname":"/microservices/gitbook2/1-wei-fu-wu-jian-jie/wei-fu-wu-shi-zhan-nginx-plus-zuo-wei-fan-xiang-dai-li-fu-wu-qi","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-LjbauxF5fkw4SodsTXO","title":"2、使用 API 网关","pathname":"/microservices/gitbook2/2-shi-yong-api-wang-guan","siteSpaceId":"sitesp_xslvt","description":""},{"id":"-LjbauxGrP9l8vKbKuoC","title":"2.1、简介","pathname":"/microservices/gitbook2/2-shi-yong-api-wang-guan/2.1-jian-jie","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LjbauxHtLEEWFKUYIgu","title":"2.2、客户端与微服务直接通信","pathname":"/microservices/gitbook2/2-shi-yong-api-wang-guan/2.2-ke-hu-duan-yu-wei-fu-wu-zhi-jie-tong-xin","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LjbauxIbNNwJ3FcI86m","title":"2.3、使用 API 网关","pathname":"/microservices/gitbook2/2-shi-yong-api-wang-guan/2.3-shi-yong-api-wang-guan","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LjbauxJsvxMTLKUeFOz","title":"2.4、API 网关的优点与缺点","pathname":"/microservices/gitbook2/2-shi-yong-api-wang-guan/2.4api-wang-guan-de-you-dian-yu-que-dian","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LjbauxKBfXDft0NoxqL","title":"2.5、实施 API 网关","pathname":"/microservices/gitbook2/2-shi-yong-api-wang-guan/2.5-shi-shi-api-wang-guan","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LjbauxLbJ98tJd6lekL","title":"2.5.1、性能与扩展]","pathname":"/microservices/gitbook2/2-shi-yong-api-wang-guan/2.5-shi-shi-api-wang-guan/2.5.1-xing-neng-yu-kuo-zhan","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"2、使用 API 网关"},{"label":"2.5、实施 API 网关"}]},{"id":"-LjbauxMBCeCc71cr8yU","title":"2.5.2、使用响应式编程模型","pathname":"/microservices/gitbook2/2-shi-yong-api-wang-guan/2.5-shi-shi-api-wang-guan/2.5.2-shi-yong-xiang-ying-shi-bian-cheng-mo-xing","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"2、使用 API 网关"},{"label":"2.5、实施 API 网关"}]},{"id":"-LjbauxNtWs2YfFd_iY7","title":"2.5.3、服务调用]","pathname":"/microservices/gitbook2/2-shi-yong-api-wang-guan/2.5-shi-shi-api-wang-guan/2.5.3-fu-wu-tiao-yong","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"2、使用 API 网关"},{"label":"2.5、实施 API 网关"}]},{"id":"-LjbauxOkmqPPGxOM1gj","title":"2.5.4、服务发现","pathname":"/microservices/gitbook2/2-shi-yong-api-wang-guan/2.5-shi-shi-api-wang-guan/2.5.4-fu-wu-fa-xian","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"2、使用 API 网关"},{"label":"2.5、实施 API 网关"}]},{"id":"-LjbauxPH_N79gOy1s3k","title":"2.5.5、处理局部故障","pathname":"/microservices/gitbook2/2-shi-yong-api-wang-guan/2.5-shi-shi-api-wang-guan/2.5.5-chu-li-ju-bu-gu-zhang","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"2、使用 API 网关"},{"label":"2.5、实施 API 网关"}]},{"id":"-LjbauxQGPc0RhHWw5bB","title":"2.6、总结","pathname":"/microservices/gitbook2/2-shi-yong-api-wang-guan/2.6-zong-jie","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LjbauxRsEA4hPpuCMva","title":"微服务实战：NGINX Plus 作为 API 网关","pathname":"/microservices/gitbook2/2-shi-yong-api-wang-guan/wei-fu-wu-shi-zhan-nginx-plus-zuo-wei-api-wang-guan","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LjbauxSg-eouDmtrMuS","title":"3、进程间通信","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin","siteSpaceId":"sitesp_xslvt","description":""},{"id":"-LjbauxTUHFfbz_M4lkD","title":"3.1、简介","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin/3.1-jian-jie","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LjbauxUKsB1469HuUhB","title":"3.2、交互方式","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin/3.2-jiao-hu-fang-shi","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LjbauxV1SKn6hqSv1Me","title":"3.3、定义 API","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin/3.3-ding-yi-api","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LjbauxWqZj3DdxaWZJf","title":"3.4、演化 API","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin/3.4-yan-hua-api","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LjbauxXDifgMlqPPAti","title":"3.5、处理局部故障","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin/3.5-chu-li-ju-bu-gu-zhang","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LjbauxYaspxqYQKVPCa","title":"3.6、IPC 技术","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin/3.6ipc-ji-shu","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LjbauxZZKdoRCKJgPZ5","title":"3.7、异步、基于消息的通信","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin/3.7-yi-bu-ji-yu-xiao-xi-de-tong-xin","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-Ljbaux_seL8UGxd6DOH","title":"3.8、同步的请求/响应 IPC","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin/3.8-tong-bu-de-qing-qiu-xiang-ying-ipc","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-Ljbauxayos0cpcsfGO9","title":"3.8.1、REST","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin/3.8-tong-bu-de-qing-qiu-xiang-ying-ipc/3.8.1-rest","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"3、进程间通信"},{"label":"3.8、同步的请求/响应 IPC"}]},{"id":"-LjbauxbkR6krBd6hKsk","title":"3.8.2、Thrift","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin/3.8-tong-bu-de-qing-qiu-xiang-ying-ipc/3.8.2-thrift","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"3、进程间通信"},{"label":"3.8、同步的请求/响应 IPC"}]},{"id":"-LjbauxcysdlZW5HHJX6","title":"3.9、消息格式","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin/3.9-xiao-xi-ge-shi","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LjbauxddfuHKMa_pK9j","title":"3.10、总结","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin/3.10-zong-jie","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-Ljbauxe_9IrJhJKasjV","title":"微服务实战：NGINX 与应用程序架构","pathname":"/microservices/gitbook2/3-jin-cheng-jian-tong-xin/wei-fu-wu-shi-zhan-nginx-yu-ying-yong-cheng-xu-jia-gou","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LAljZbsupacVf5xuYMP","title":"4、服务发现","pathname":"/microservices/gitbook2/4-service-discovery","siteSpaceId":"sitesp_xslvt","description":""},{"id":"-LjbZyhV3wjIDWEgXmIs","title":"4.1、为何使用服务发现","pathname":"/microservices/gitbook2/4-service-discovery/4.1-wei-he-shi-yong-fu-wu-fa-xian","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LjbZyhWj9mH5L6kLWad","title":"4.2、客户端发现模式","pathname":"/microservices/gitbook2/4-service-discovery/4.2-ke-hu-duan-fa-xian-mo-shi","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LjbZyhXhd3QmLJnJwxM","title":"4.3、服务端发现模式","pathname":"/microservices/gitbook2/4-service-discovery/4.3-fu-wu-duan-fa-xian-mo-shi","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LjbZyhYq6AU2IqSZX4d","title":"4.4、服务注册中心","pathname":"/microservices/gitbook2/4-service-discovery/4.4-fu-wu-zhu-ce-zhong-xin","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LjbZyhZldGCGJlTyriC","title":"4.5、服务注册方式","pathname":"/microservices/gitbook2/4-service-discovery/4.5-fu-wu-zhu-ce-fang-shi","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LjbZyh_oPcbkWCxrFXH","title":"4.6、自注册模式","pathname":"/microservices/gitbook2/4-service-discovery/4.6-zi-zhu-ce-mo-shi","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LjbZyhaIylfbI4Z8Vu2","title":"4.7、第三方注册模式","pathname":"/microservices/gitbook2/4-service-discovery/4.7-di-san-fang-zhu-ce-mo-shi","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LjbZyhbD5ogzvqQbZ_q","title":"4.8、总结","pathname":"/microservices/gitbook2/4-service-discovery/4.8-zong-jie","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LjbZyhcKp1Uontm8BZA","title":"微服务实战：灵活的 NGINX","pathname":"/microservices/gitbook2/4-service-discovery/wei-fu-wu-shi-zhan-ling-huo-de-nginx","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LAljZbty4HEMR5qPyva","title":"5、事件驱动数据管理","pathname":"/microservices/gitbook2/5-event-driven-data-management-for-microservices","siteSpaceId":"sitesp_xslvt","description":""},{"id":"-LjbZyheB_OasjOgKeDn","title":"5.1、微服务与分布式数据管理问题","pathname":"/microservices/gitbook2/5-event-driven-data-management-for-microservices/5.1-wei-fu-wu-yu-fen-bu-shi-shu-ju-guan-li-wen-ti","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LjbZyhfms_ZtfShJ6wq","title":"5.2、事件驱动架构","pathname":"/microservices/gitbook2/5-event-driven-data-management-for-microservices/5.2-shi-jian-qu-dong-jia-gou","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LjbZyhgIpz_FN29oW5B","title":"5.3、实现原子性","pathname":"/microservices/gitbook2/5-event-driven-data-management-for-microservices/5.3-shi-xian-yuan-zi-xing","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LjbZyhhtP6xJekeMyeo","title":"5.4、使用本地事务发布事件","pathname":"/microservices/gitbook2/5-event-driven-data-management-for-microservices/5.4-shi-yong-ben-di-shi-wu-fa-bu-shi-jian","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LjbZyhi2s5sHIsL8FAn","title":"5.5、挖掘数据库事务日志","pathname":"/microservices/gitbook2/5-event-driven-data-management-for-microservices/5.5-wa-jue-shu-ju-ku-shi-wu-ri-zhi","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LjbZyhjoRUyMfjKJnn8","title":"5.6、使用事件溯源","pathname":"/microservices/gitbook2/5-event-driven-data-management-for-microservices/5.6-shi-yong-shi-jian-su-yuan","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LjbZyhkZis5haaGuz0n","title":"5.7、总结","pathname":"/microservices/gitbook2/5-event-driven-data-management-for-microservices/5.7-zong-jie","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LjbZyhlbGmgBdMV26gf","title":"微服务实战：NGINX 与存储优化","pathname":"/microservices/gitbook2/5-event-driven-data-management-for-microservices/wei-fu-wu-shi-zhan-nginx-yu-cun-chu-you-hua","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LAljZbvPEvHxMRiT_9J","title":"6、选择部署策略","pathname":"/microservices/gitbook2/6-choosing-deployment-strategy","siteSpaceId":"sitesp_xslvt","description":""},{"id":"-LjbZyhnGmadkv0GRfpA","title":"6.1、动机","pathname":"/microservices/gitbook2/6-choosing-deployment-strategy/6.1-dong-ji","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"6、选择部署策略"}]},{"id":"-LjbZyhoRBwvh8W2CW3n","title":"6.2、单主机多服务实例模式","pathname":"/microservices/gitbook2/6-choosing-deployment-strategy/6.2-dan-zhu-ji-duo-fu-wu-shi-li-mo-shi","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"6、选择部署策略"}]},{"id":"-LjbZyhp9ly9_QwS_eFI","title":"6.3、每个主机一个服务实例模式","pathname":"/microservices/gitbook2/6-choosing-deployment-strategy/6.3-mei-ge-zhu-ji-yi-ge-fu-wu-shi-li-mo-shi","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"6、选择部署策略"}]},{"id":"-LjbZyhqsSrcfBAq4x48","title":"6.3.1、每个虚拟机一个服务实例模式","pathname":"/microservices/gitbook2/6-choosing-deployment-strategy/6.3-mei-ge-zhu-ji-yi-ge-fu-wu-shi-li-mo-shi/6.3.1-mei-ge-xu-ni-ji-yi-ge-fu-wu-shi-li-mo-shi","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"6、选择部署策略"},{"label":"6.3、每个主机一个服务实例模式"}]},{"id":"-LjbZyhrKKEG0Qb_tAKt","title":"6.3.2、每个容器一个服务实例模式","pathname":"/microservices/gitbook2/6-choosing-deployment-strategy/6.3-mei-ge-zhu-ji-yi-ge-fu-wu-shi-li-mo-shi/6.3.2-mei-ge-rong-qi-yi-ge-fu-wu-shi-li-mo-shi","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"6、选择部署策略"},{"label":"6.3、每个主机一个服务实例模式"}]},{"id":"-LjbZyhs5_KwpA1zTi6i","title":"6.4、Serverless 部署","pathname":"/microservices/gitbook2/6-choosing-deployment-strategy/6.4serverless-bu-shu","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"6、选择部署策略"}]},{"id":"-LjbZyhtdPtM_IdkeS6N","title":"6.5、总结","pathname":"/microservices/gitbook2/6-choosing-deployment-strategy/6.5-zong-jie","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"6、选择部署策略"}]},{"id":"-LjbZyhulJR515tjdG-2","title":"微服务实战：使用 NGINX 在不同主机上部署微服务","pathname":"/microservices/gitbook2/6-choosing-deployment-strategy/wei-fu-wu-shi-zhan-shi-yong-nginx-zai-bu-tong-zhu-ji-shang-bu-shu-wei-fu-wu","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"6、选择部署策略"}]},{"id":"-LAljZbwG260dKkkaHK_","title":"7、重构单体应用为微服务","pathname":"/microservices/gitbook2/7-refactoring-a-monolith-into-microservices","siteSpaceId":"sitesp_xslvt","description":""},{"id":"-LjbZyhwRVEOcj4ygSav","title":"7.1、微服务重构概述","pathname":"/microservices/gitbook2/7-refactoring-a-monolith-into-microservices/7.1-wei-fu-wu-zhong-gou-gai-shu","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"}]},{"id":"-LjbZyhxWnSScC2S0Lhd","title":"7.2、策略一：停止挖掘","pathname":"/microservices/gitbook2/7-refactoring-a-monolith-into-microservices/7.2-ce-lve-yi-ting-zhi-wa-jue","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"}]},{"id":"-LjbZyhyrkq2bgz6GZrG","title":"7.3、策略二：前后端分离","pathname":"/microservices/gitbook2/7-refactoring-a-monolith-into-microservices/7.3-ce-lve-er-qian-hou-duan-fen-li","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"}]},{"id":"-LjbZyhzLn4jm6k2ixPL","title":"7.4、策略三：提取服务","pathname":"/microservices/gitbook2/7-refactoring-a-monolith-into-microservices/7.4-ce-lve-san-ti-qu-fu-wu","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"}]},{"id":"-LjbZyi-4cTV9tE9xeIP","title":"7.4.1、优先将哪些模块转换为微服务","pathname":"/microservices/gitbook2/7-refactoring-a-monolith-into-microservices/7.4-ce-lve-san-ti-qu-fu-wu/7.4.1-you-xian-jiang-na-xie-mo-kuai-zhuan-huan-wei-wei-fu-wu","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"},{"label":"7.4、策略三：提取服务"}]},{"id":"-LjbZyi0xZo8T9bkqgjX","title":"7.4.2、如何提取模块","pathname":"/microservices/gitbook2/7-refactoring-a-monolith-into-microservices/7.4-ce-lve-san-ti-qu-fu-wu/7.4.2-ru-he-ti-qu-mo-kuai","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"},{"label":"7.4、策略三：提取服务"}]},{"id":"-LjbZyi1bcCRWG_W4CZU","title":"7.5、总结","pathname":"/microservices/gitbook2/7-refactoring-a-monolith-into-microservices/7.5-zong-jie","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"}]},{"id":"-LjbZyi2NtAftTNvMpD3","title":"微服务实战：使用 NGINX 征服单体","pathname":"/microservices/gitbook2/7-refactoring-a-monolith-into-microservices/wei-fu-wu-shi-zhan-shi-yong-nginx-zheng-fu-dan-ti","siteSpaceId":"sitesp_xslvt","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"}]},{"id":"-LAinv8ZLd5hd36dfUGG","title":"Introduction","pathname":"/microservices","siteSpaceId":"sitesp_Iybit","description":""},{"id":"-LAio0CrhxW8TOvRgxGr","title":"0、前言","pathname":"/microservices/0-foreword","siteSpaceId":"sitesp_Iybit","description":""},{"id":"-LAio0CtOnOleAqI_4rV","title":"1、微服务简介","pathname":"/microservices/1-introduction-to-microservices","siteSpaceId":"sitesp_Iybit","description":""},{"id":"-LTmmmUqPzhOQM_6d0SL","title":"1.1、构建单体应用","pathname":"/microservices/1-introduction-to-microservices/1.1-gou-jian-dan-ti-ying-yong","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-LTmmmUr8CmzZPvwGq6K","title":"1.2、走向单体地狱","pathname":"/microservices/1-introduction-to-microservices/1.2-zou-xiang-dan-ti-di-yu","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-LTmmmUsxicCOu9tncL3","title":"1.3、微服务-解决复杂问题","pathname":"/microservices/1-introduction-to-microservices/1.3-wei-fu-wu-jie-jue-fu-za-wen-ti","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-LTmmmUt7m52BtHx2hWz","title":"1.4、微服务的优点","pathname":"/microservices/1-introduction-to-microservices/1.4-wei-fu-wu-de-you-dian","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-LTmmmUu0tWXwt4Vxp3I","title":"1.5、微服务的缺点","pathname":"/microservices/1-introduction-to-microservices/1.5-wei-fu-wu-de-que-dian","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-LTmmmUvrE217MjnLiC4","title":"1.6、总结","pathname":"/microservices/1-introduction-to-microservices/1.6-zong-jie","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-LTmmmUwIcDCAj1Sra4N","title":"微服务实战：NGINX Plus 作为反向代理服务器","pathname":"/microservices/1-introduction-to-microservices/wei-fu-wu-shi-zhan-nginx-plus-zuo-wei-fan-xiang-dai-li-fu-wu-qi","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"1、微服务简介"}]},{"id":"-LAio0D0xn5zEG9VUJaI","title":"2、使用 API 网关","pathname":"/microservices/2-using-an-api-gateway","siteSpaceId":"sitesp_Iybit","description":""},{"id":"-LTmmmUyxUim-olGXeBG","title":"2.1、简介","pathname":"/microservices/2-using-an-api-gateway/2.1-jian-jie","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LTmmmUzCF9JntRh3Dgu","title":"2.2、客户端与微服务直接通信","pathname":"/microservices/2-using-an-api-gateway/2.2-ke-hu-duan-yu-wei-fu-wu-zhi-jie-tong-xin","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LTmmmV-C10lf7jjEN-j","title":"2.3、使用 API 网关","pathname":"/microservices/2-using-an-api-gateway/2.3-shi-yong-api-wang-guan","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LTmmmV0Y7ky3b6dxjgF","title":"2.4、API 网关的优点与缺点","pathname":"/microservices/2-using-an-api-gateway/2.4api-wang-guan-de-you-dian-yu-que-dian","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LTmmmV1v4YQDmXssikb","title":"2.5、实施 API 网关","pathname":"/microservices/2-using-an-api-gateway/2.5-shi-shi-api-wang-guan","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LTmmmV24XlEeWaD9FRw","title":"2.5.1、性能与扩展","pathname":"/microservices/2-using-an-api-gateway/2.5-shi-shi-api-wang-guan/2.5.1-xing-neng-yu-kuo-zhan","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"2、使用 API 网关"},{"label":"2.5、实施 API 网关"}]},{"id":"-LTmmmV38j5AZVoIKETa","title":"2.5.2、使用响应式编程模型","pathname":"/microservices/2-using-an-api-gateway/2.5-shi-shi-api-wang-guan/2.5.2-shi-yong-xiang-ying-shi-bian-cheng-mo-xing","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"2、使用 API 网关"},{"label":"2.5、实施 API 网关"}]},{"id":"-LTmmmV4WDo9Ol8N5nTr","title":"2.5.3、服务调用","pathname":"/microservices/2-using-an-api-gateway/2.5-shi-shi-api-wang-guan/2.5.3-fu-wu-tiao-yong","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"2、使用 API 网关"},{"label":"2.5、实施 API 网关"}]},{"id":"-LTmmmV5a9q8cdTcG3wT","title":"2.5.4、服务发现","pathname":"/microservices/2-using-an-api-gateway/2.5-shi-shi-api-wang-guan/2.5.4-fu-wu-fa-xian","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"2、使用 API 网关"},{"label":"2.5、实施 API 网关"}]},{"id":"-LTmmmV6H7vWOQOlJXUW","title":"2.5.5、处理局部故障","pathname":"/microservices/2-using-an-api-gateway/2.5-shi-shi-api-wang-guan/2.5.5-chu-li-ju-bu-gu-zhang","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"2、使用 API 网关"},{"label":"2.5、实施 API 网关"}]},{"id":"-LTmmmV7HUWmmMkQL0pG","title":"2.6、总结","pathname":"/microservices/2-using-an-api-gateway/2.6-zong-jie","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LTmmmV8gQgb-vKlI6ch","title":"微服务实战：NGINX Plus 作为 API 网关","pathname":"/microservices/2-using-an-api-gateway/wei-fu-wu-shi-zhan-nginx-plus-zuo-wei-api-wang-guan","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"2、使用 API 网关"}]},{"id":"-LAio0DDcwHFphJgSaz1","title":"3、进程间通信","pathname":"/microservices/3-inter-process-communication","siteSpaceId":"sitesp_Iybit","description":""},{"id":"-LTmmmVAZXTXC95KSjIz","title":"3.1、简介","pathname":"/microservices/3-inter-process-communication/3.1-jian-jie","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LTmmmVBvgUC2hXLq0yz","title":"3.2、交互方式","pathname":"/microservices/3-inter-process-communication/3.2-jiao-hu-fang-shi","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LTmmmVC6FwPX6QWaeYP","title":"3.3、定义 API","pathname":"/microservices/3-inter-process-communication/3.3-ding-yi-api","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LTmmmVDILpFzw8c1jlv","title":"3.4、演化 API","pathname":"/microservices/3-inter-process-communication/3.4-yan-hua-api","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LTmmmVE3KBHzw4WbaXp","title":"3.5、处理局部故障","pathname":"/microservices/3-inter-process-communication/3.5-chu-li-ju-bu-gu-zhang","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LTmmmVFqSVOA3ioj809","title":"3.6、IPC 技术","pathname":"/microservices/3-inter-process-communication/3.6ipc-ji-shu","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LTmmmVGoEBVivBiZwlc","title":"3.7、异步、基于消息的通信","pathname":"/microservices/3-inter-process-communication/3.7-yi-bu-ji-yu-xiao-xi-de-tong-xin","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LTmmmVH6JuPUUeJoH-5","title":"3.8、同步的请求/响应 IPC","pathname":"/microservices/3-inter-process-communication/3.8-tong-bu-de-qing-qiu-xiang-ying-ipc","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LTmmmVIJ8yBULT4iHnH","title":"3.8.1、REST","pathname":"/microservices/3-inter-process-communication/3.8-tong-bu-de-qing-qiu-xiang-ying-ipc/3.8.1-rest","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"3、进程间通信"},{"label":"3.8、同步的请求/响应 IPC"}]},{"id":"-LTmmmVJooQmnt1Tgb0K","title":"3.8.2、Thrift","pathname":"/microservices/3-inter-process-communication/3.8-tong-bu-de-qing-qiu-xiang-ying-ipc/3.8.2-thrift","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"3、进程间通信"},{"label":"3.8、同步的请求/响应 IPC"}]},{"id":"-LTmmmVKmrZAzWhBqVDb","title":"3.9、消息格式","pathname":"/microservices/3-inter-process-communication/3.9-xiao-xi-ge-shi","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LTmmmVLaOd3Kt09NVZ8","title":"3.10、总结","pathname":"/microservices/3-inter-process-communication/3.10-zong-jie","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LTmmmVMB1Rr1NEJPFPa","title":"微服务实战：NGINX 与应用程序架构","pathname":"/microservices/3-inter-process-communication/wei-fu-wu-shi-zhan-nginx-yu-ying-yong-cheng-xu-jia-gou","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"3、进程间通信"}]},{"id":"-LAio0DR5hTDn93HLAGN","title":"4、服务发现","pathname":"/microservices/4-service-discovery","siteSpaceId":"sitesp_Iybit","description":""},{"id":"-LTmmmVOfqy7am-9uRcx","title":"4.1、为何使用服务发现","pathname":"/microservices/4-service-discovery/4.1-wei-he-shi-yong-fu-wu-fa-xian","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LTmmmVPX09D7wLv56g3","title":"4.2、客户端发现模式","pathname":"/microservices/4-service-discovery/4.2-ke-hu-duan-fa-xian-mo-shi","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LTmmmVQjpFQnjmy7L4y","title":"4.3、服务端发现模式","pathname":"/microservices/4-service-discovery/4.3-fu-wu-duan-fa-xian-mo-shi","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LTmmmVR2xh-otrNNJ1G","title":"4.4、服务注册中心","pathname":"/microservices/4-service-discovery/4.4-fu-wu-zhu-ce-zhong-xin","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LTmmmVSs3i2GvO5l9ic","title":"4.5、服务注册方式","pathname":"/microservices/4-service-discovery/4.5-fu-wu-zhu-ce-fang-shi","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LTmmmVT14QXGzNRRa7K","title":"4.6、自注册模式","pathname":"/microservices/4-service-discovery/4.6-zi-zhu-ce-mo-shi","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LTmmmVUI1PwgbLTHZ_E","title":"4.7、第三方注册模式","pathname":"/microservices/4-service-discovery/4.7-di-san-fang-zhu-ce-mo-shi","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LTmmmVVDe8iIorH5DI5","title":"4.8、总结","pathname":"/microservices/4-service-discovery/4.8-zong-jie","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LTmmmVWEorVo3hHzh__","title":"微服务实战：灵活的 NGINX","pathname":"/microservices/4-service-discovery/wei-fu-wu-shi-zhan-ling-huo-de-nginx","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"4、服务发现"}]},{"id":"-LAio0DaL5DmrtPq8gQu","title":"5、事件驱动数据管理","pathname":"/microservices/5-event-driven-data-management-for-microservices","siteSpaceId":"sitesp_Iybit","description":""},{"id":"-LTmmmVYrFBHkEJKXG2B","title":"5.1、微服务与分布式数据管理问题","pathname":"/microservices/5-event-driven-data-management-for-microservices/5.1-wei-fu-wu-yu-fen-bu-shi-shu-ju-guan-li-wen-ti","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LTmmmVZZZgkEymW_U17","title":"5.2、事件驱动架构","pathname":"/microservices/5-event-driven-data-management-for-microservices/5.2-shi-jian-qu-dong-jia-gou","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LTmmmV_jCByCA37_E2H","title":"5.3、实现原子性","pathname":"/microservices/5-event-driven-data-management-for-microservices/5.3-shi-xian-yuan-zi-xing","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LTmmmVaBBYP1R7t54jp","title":"5.4、使用本地事务发布事件","pathname":"/microservices/5-event-driven-data-management-for-microservices/5.4-shi-yong-ben-di-shi-wu-fa-bu-shi-jian","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LTmmmVbeaYxHAYdb3nH","title":"5.5、挖掘数据库事务日志","pathname":"/microservices/5-event-driven-data-management-for-microservices/5.5-wa-jue-shu-ju-ku-shi-wu-ri-zhi","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LTmmmVcf_DzCd0ogLn2","title":"5.6、使用事件溯源","pathname":"/microservices/5-event-driven-data-management-for-microservices/5.6-shi-yong-shi-jian-su-yuan","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LTmmmVdaeU_wBFxeQlk","title":"5.7、总结","pathname":"/microservices/5-event-driven-data-management-for-microservices/5.7-zong-jie","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LTmmmVekXERhmOhm_pg","title":"微服务实战：NGINX 与存储优化","pathname":"/microservices/5-event-driven-data-management-for-microservices/wei-fu-wu-shi-zhan-nginx-yu-cun-chu-you-hua","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"5、事件驱动数据管理"}]},{"id":"-LAio0DjcYWQS22rGrIm","title":"6、选择部署策略","pathname":"/microservices/6-choosing-deployment-strategy","siteSpaceId":"sitesp_Iybit","description":""},{"id":"-LTmmmVgbsdw_wVe87Mj","title":"6.1、动机","pathname":"/microservices/6-choosing-deployment-strategy/6.1-dong-ji","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"6、选择部署策略"}]},{"id":"-LTmmmVhXQXGVToF6Bp2","title":"6.2、单主机多服务实例模式","pathname":"/microservices/6-choosing-deployment-strategy/6.2-dan-zhu-ji-duo-fu-wu-shi-li-mo-shi","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"6、选择部署策略"}]},{"id":"-LTmmmViLKwYL55Wvx9m","title":"6.3、每个主机一个服务实例模式","pathname":"/microservices/6-choosing-deployment-strategy/6.3-mei-ge-zhu-ji-yi-ge-fu-wu-shi-li-mo-shi","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"6、选择部署策略"}]},{"id":"-LTmmmVjV7RtlzsY0UZO","title":"6.3.1、每个虚拟机一个服务实例模式","pathname":"/microservices/6-choosing-deployment-strategy/6.3-mei-ge-zhu-ji-yi-ge-fu-wu-shi-li-mo-shi/6.3.1-mei-ge-xu-ni-ji-yi-ge-fu-wu-shi-li-mo-shi","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"6、选择部署策略"},{"label":"6.3、每个主机一个服务实例模式"}]},{"id":"-LTmmmVk7-RbvZjiMRvi","title":"6.3.2、每个容器一个服务实例模式","pathname":"/microservices/6-choosing-deployment-strategy/6.3-mei-ge-zhu-ji-yi-ge-fu-wu-shi-li-mo-shi/6.3.2-mei-ge-rong-qi-yi-ge-fu-wu-shi-li-mo-shi","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"6、选择部署策略"},{"label":"6.3、每个主机一个服务实例模式"}]},{"id":"-LTmmmVlvzMXgR5Lut_A","title":"6.4、Serverless 部署","pathname":"/microservices/6-choosing-deployment-strategy/6.4serverless-bu-shu","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"6、选择部署策略"}]},{"id":"-LTmmmVm3ZaWdLdkPUGo","title":"6.5、总结","pathname":"/microservices/6-choosing-deployment-strategy/6.5-zong-jie","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"6、选择部署策略"}]},{"id":"-LTmmmVn6TtEWhRGGluU","title":"微服务实战：使用 NGINX 在不同主机上部署微服务","pathname":"/microservices/6-choosing-deployment-strategy/wei-fu-wu-shi-zhan-shi-yong-nginx-zai-bu-tong-zhu-ji-shang-bu-shu-wei-fu-wu","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"6、选择部署策略"}]},{"id":"-LAio0DsrGvICQo6N70o","title":"7、重构单体应用为微服务","pathname":"/microservices/7-refactoring-a-monolith-into-microservices","siteSpaceId":"sitesp_Iybit","description":""},{"id":"-LTmmmVp1QVm1r6nsJX8","title":"7.1、微服务重构概述","pathname":"/microservices/7-refactoring-a-monolith-into-microservices/7.1-wei-fu-wu-zhong-gou-gai-shu","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"}]},{"id":"-LTmmmVq3LHNaOYUIhlj","title":"7.2、策略一：停止挖掘","pathname":"/microservices/7-refactoring-a-monolith-into-microservices/7.2-ce-lve-yi-ting-zhi-wa-jue","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"}]},{"id":"-LTmmmVrxhRUYIi-LRsR","title":"7.3、策略二：前后端分离","pathname":"/microservices/7-refactoring-a-monolith-into-microservices/7.3-ce-lve-er-qian-hou-duan-fen-li","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"}]},{"id":"-LTmmmVsCCJCnEyRjbwT","title":"7.4、策略三：提取服务","pathname":"/microservices/7-refactoring-a-monolith-into-microservices/7.4-ce-lve-san-ti-qu-fu-wu","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"}]},{"id":"-LTmmmVt_8lDLiyYywo6","title":"7.4.1、优先将哪些模块转换为微服务","pathname":"/microservices/7-refactoring-a-monolith-into-microservices/7.4-ce-lve-san-ti-qu-fu-wu/7.4.1-you-xian-jiang-na-xie-mo-kuai-zhuan-huan-wei-wei-fu-wu","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"},{"label":"7.4、策略三：提取服务"}]},{"id":"-LTmmmVu4HIOjZjU7PxV","title":"7.4.2、如何提取模块","pathname":"/microservices/7-refactoring-a-monolith-into-microservices/7.4-ce-lve-san-ti-qu-fu-wu/7.4.2-ru-he-ti-qu-mo-kuai","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"},{"label":"7.4、策略三：提取服务"}]},{"id":"-LTmmmVv2h-AoI3Yifk9","title":"7.5、总结","pathname":"/microservices/7-refactoring-a-monolith-into-microservices/7.5-zong-jie","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"}]},{"id":"-LTmmmVwgZUdhumYM2uR","title":"微服务实战：使用 NGINX 征服单体","pathname":"/microservices/7-refactoring-a-monolith-into-microservices/wei-fu-wu-shi-zhan-shi-yong-nginx-zheng-fu-dan-ti","siteSpaceId":"sitesp_Iybit","description":"","breadcrumbs":[{"label":"7、重构单体应用为微服务"}]}]}