【问题标题】:Multiple microservices connecting to single Oracle server多个微服务连接到单个 Oracle 服务器
【发布时间】:2020-10-14 20:02:00
【问题描述】:

我更习惯于 PostgreSQL 的世界,现在正在努力使用 Oracle。

我有多个带有 Spring Boot 的微服务,它们使用 Flyway 进行数据库迁移。使用 PostgreSQL,我将为每个微服务(例如 createdb -O microservice1_user microservice1createdb -O microservice2_user microservice2)创建一个“数据库”,这样表就不会发生冲突,并且每个微服务都有自己的 flyway_schema_migration` 表。

我现在可以访问 一个 Oracle 服务器。我有管理员权限(如果我没记错的话——我有一个owner 和一个support user 帐户)。 这里的最佳做法是什么?我可以为每个微服务创建相当于“数据库”(我认为它们是 Oracle 中的“模式”吗?每个模式也是一个用户?)?我是否需要为表格添加前缀(我真的很想避免这种情况)?

谢谢!

【问题讨论】:

    标签: oracle flyway


    【解决方案1】:

    SCHEMA 和 USER 在 Oracle 中实际上是同义词 - 所以是的,您的每个数据库都可以在 Oracle 中表示为一个 SCHEMA。

    但是,如果用户被授予 privs,它将允许他们查看另一个架构中的数据。

    如果您需要更硬的“分区”,则可以使用 Oracle 中的多租户功能。

    然后,您将为每个微服务拥有一个单独的可插拔数据库。每个人都可以有一个或多个架构,但他们无法意外或以其他方式访问另一个可插入数据库中的数据。

    我们的客户已经实现了这两种架构风格,因此不一定有正确或错误的方式。

    在单个数据库中使用多个模式显然是更简单的方法。

    【讨论】:

    • 谢谢!我会尝试架构方法。
    猜你喜欢
    • 2012-07-30
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 2020-11-24
    • 2021-08-17
    • 1970-01-01
    相关资源
    最近更新 更多