我不清楚如何取回购买服务不保存的数据--例如:用户的全名。当试图通过购买用户名进行更复杂的搜索购买时,问题会变得更严重。
我认为,显然可以通过在两个服务之间同步用户来解决这个问题,方法是在用户创建时广播某种类型的事件(并在购买服务端只保存相关的用户属性)。在我看来,这远非理想。当你有数百万用户时,你如何处理这个问题?您会在每个使用用户数据的服务中创建数百万条记录吗?
另一个明显的选择是在用户服务端公开一个API,它根据给定的IDS带回用户详细信息。这意味着每次在购买服务中加载页面,我都必须调用用户服务以获得正确的用户名。不理想,但我能忍受。
我是不是漏掉了什么?是否有其他方法来实现上述目标?也许我面临这个问题的事实是一种代码气味?很想听听其他的解决方案。
在进入微服务时,这似乎是一个非常常见和核心的问题。我希望有一个好的答案:-)
关于这里提到的建议模式,我将使用术语数据非规范化而不是多语持久性,因为它不一定需要在不同的持久性技术中。关键是每个服务处理自己的数据。是的,您有数据重复,通常需要某种事件总线来跨服务共享数据。
还有另一个选择,这是一种对第一个的接受--将搜索本身作为一个独立的服务。
我经常听说,在微服务架构中,对于每一个微服务,我们都必须创建单独的数据库。 但是,如果我必须在不同的数据库中维护外键约束,这是不可能的。就像我在身份验证微服务中有一个用户表,我想在我的目录服务中使用它(用户表中的用户 ID 列) 那么如何解决呢。 感谢提前
我最近开始使用Node.js,我必须构建一个应该使用多个Express.js服务的体系结构。其中一些服务必须位于一台服务器上,另一台则位于其他服务器上。我想构建一个基础服务(像API网关),但是我不知道在这个网关和微服务之间,或者在两个微服务之间进行通信的合适方式是什么。 目前我正在研究一个基于此的解决方案:
我有一个微服务体系结构,它的日志必须发送到远程Kafka主题。在它旁边,本主题的使用者将把日志发送到麋鹿堆栈(另一个团队) 我想要一个专用的微服务(fwk proxy elasticsearch),其职责是收集其他人的日志,并将其发送到远程Kafka主题。 将从我的微服务聚合的所有日志分派到fwk-代理-弹性搜索微服务的最佳协议是什么? 我希望这个模式不会重复远程Kafka主题的安全配置。我想把它
我们有一个单片应用程序,我们现在正在使用容器将其转换为微服务架构。 每种方法的利弊是什么?根据微服务最佳实践,什么是最佳方法?*
我正在开发具有微服务架构的后端。我对该架构不熟悉,目前我在一个容器中开发了3个微服务(RESTful Web服务,带有Spring Boot)。我想实现OAuth2和JWT Rest Prot和网关。使用授权服务器和资源服务器实现网关是正确的吗?我在架构上做错了什么吗? 谢谢你的回复
总而言之,我们有: 产品类别: 产品ID、产品名称 订单类别: 订单ID、产品ID、用户ID、订单日期 这些方法中的任何一种可以被认为是最佳实践吗?还是有不同的解决方案?