gpt4 book ai didi

sql - 更改为微服务时如何破坏关系数据库

转载 作者:太空宇宙 更新时间:2023-11-04 02:18:34 25 4
gpt4 key购买 nike

在整体应用程序中,我有一个像这样的示例数据库

User
id: serial
name : string
password :string
..
Blog
id : serial
body : string
author_id : Int

当我想获取包含作者信息的帖子列表时,我只需进行内部连接查询即可。如果我将系统更改为微服务。博客和用户是独立的服务。他们将有一个自己的数据库。我应该在博客数据库中添加author_id列吗?如果博客数据库没有author_id,我如何获取包含作者信息的帖子列表?我真的需要一个 Nodejs 中的微服务示例

最佳答案

是的,您应该在博客数据库中添加author_id列。但您不应该添加外键。

如果您想获取具有相关用户信息的帖子列表,您应该使用API​​网关模式。 API网关是所有微服务的链接元素。该元素向微服务发出请求,然后以编程方式合并响应。

例如,您可以使用此函数来合并响应:

function(a, b, select) {
var m = a.length, n = b.length, c = [];
for (var i = 0; i < m; i++) {
var x = a[i];
for (var j = 0; j < n; j++) { // all combinations
var y = select(x, b[j]); // filter out the rows and columns you want
if (y) c.push(y); // if a row is returned add it to the table
}
}

return c;
}

此外,您还可以找到 API Gateway 的交 key 解决方案。

关于sql - 更改为微服务时如何破坏关系数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34604106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com