随笔分类 -  微服务设计与部署

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

点击右上角即可分享
微信分享提示