微服务架构中如何处理typeorm关系

编程入门 行业动态 更新时间:2024-10-07 08:26:38

微服务架构中<a href=https://www.elefans.com/category/jswz/34/1771197.html style=如何处理typeorm关系"/>

微服务架构中如何处理typeorm关系

如果我有两个或多个 nodejs 服务器连接到与微服务相同的数据库(MySQL),每个服务器都有自己的文件和实体文件夹的 repo,我应该如何使用来自不同项目(微服务)的实体来创建他们之间的关系?

例如,一种微服务用于用户,一种微服务用于帖子。

用户微服务实体:

@Entity()
class User {
    @PrimaryGeneratedColumn('uuid')
    id: string;

    @Column({unique: true})
    email: string;

    @OneToMany(() => Post, post => post.user)
    posts: Post[];
}

posts 微服务实体

class Post {
    @PrimaryGeneratedColumn('uuid')
    id: string;

    @Column()
    subject: string;

    @Column({type: 'text'})
    body: string

    @ManyToOne(() => User, user => user.posts)
    user: User;
}

每个实体都应该能够导入另一个实体以建立外键关系,但是,该实体在不同的项目中,因此无法导入。

有什么想法吗?

回答如下:

每个微服务必须是自治的。每个微服务都应该解决整个分布式系统中的一个且仅一个步骤。然后,您应该研究事件驱动的微服务和消息队列,例如 Kafka 或 RabbitMQ 方法。

更多推荐

微服务架构中如何处理typeorm关系

本文发布于:2024-05-30 06:36:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770210.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何处理   架构   关系   typeorm

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!