摘要: 选择部署策略: 部署单体应用意味着运行一个或多个来自单个较大应用的相同副本。你通常会配置 N 个服务器(物理或虚拟),每台服务器上会运行 M 个应用实例。单体应用的部署并不总是那么简单,但它比部署微服务应用要简单得多。 微服务应用由数十甚至上百个服务组成。服务使用不同的语言和框架编写。每个服务都是一 阅读全文
posted @ 2022-08-16 20:02 小新超人 阅读(149) 评论(0) 推荐(0)
摘要: 微服务和分布式数据管理问题 每个微服务所拥有的数据对当前微服务来说是私有的,只能通过其提供的 API 进行访问。封装数据可确保微服务松耦合、独立演进。如果多个服务访问相同的数据,当模式(schema)更新时,需要耗时协调更新所有服务。 不同的微服务常常使用不同类型的数据库。现代应用存储和处理着各种数 阅读全文
posted @ 2022-08-16 19:29 小新超人 阅读(195) 评论(0) 推荐(0)
摘要: 客户端发现(client-side discovery) 当使用客户端发现模式时,客户端负责确定可用服务实例的网络位置和请求负载均衡。客户端查询服务注册中心(service registry),它是可用服务实例的数据库。之后,客户端利用负载均衡算法选择一个可用的服务实例并发出请求。 服务实例的网络位 阅读全文
posted @ 2022-08-16 18:54 小新超人 阅读(88) 评论(0) 推荐(0)
摘要: 交互方式: 在单体应用中,组件可通过语言级方法或者函数相互调用。相比之下,基于微服务的应用是一个运行在多台机器上的分布式系统。通常,每个服务实例都是一个进程。因此,服务必须使用进程间通信(IPC)机制进行交互。 一对一 一对多 同步 请求/响应 - 异步 通知 发布/订阅 异步 请求/异步响应 发布 阅读全文
posted @ 2022-08-16 14:32 小新超人 阅读(108) 评论(0) 推荐(0)
摘要: 在使用单体应用架构的情况下,移动客户端通过对应用进行单个 REST 调用来检索此数据 例如:GET api.company.co/productdetails/productId 负载均衡器将请求路由到几个相同应用实例中的其中一个。之后,应用查询各个数据库表并返回响应给客户端。 相比之下,当使用微服 阅读全文
posted @ 2022-08-16 14:29 小新超人 阅读(113) 评论(0) 推荐(0)