当前位置: 首页 > 知识库问答 >
问题:

数据库级微服务

何涵畅
2023-03-14

如果一个微服务只知道它自己的领域,但是有一个数据流需要多个服务以某种方式交互,那该怎么做呢?

假设我们有这样的东西:

为论证起见,假设一个订单发货后,就应该创建发票。

我确实知道这可以被认为是高度基于意见的。但它也有具体的一面,因为微服务不应该做上述的事情。因此,必须有一个“根据定义它应该做什么”,这不是基于意见的。

开枪啊。

共有1个答案

冯茂实
2023-03-14

在处理微服务时,最好的数据库实践有多种方式,它可能因所使用的实体的域以及应用程序使用的范围而有所不同。

在micor服务中,数据库设计的最佳实践很少,首先列出几个最佳实践

1 - Private-tables-per-service – each service owns a set of tables that must only be accessed by that service
2 - Schema-per-service – each service has a database schema that’s private to that service
3 - Database-server-per-service – each service has it’s own database server.

您可以根据您的数据大小和数据计数混合和匹配这些数据。

 类似资料:
  • 我读过萨姆·纽曼的《微服务》一书,在关于分裂整体的一章中,他举了一个“打破外键关系”的例子,他承认跨API进行连接会更慢--但他接着说,如果你的应用程序足够快,它比以前慢有关系吗? 这似乎有点油嘴滑舌?人的经历是什么?您使用了哪些技术来使API联接执行得令人满意?

  • 我是微服务架构的新手,我正在尝试使用两个 Spring 启动微服务构建一个简单的项目,eureka 作为服务发现和 Spring 云用于 API 网关。UserService和OrderService连接到不同的MySQL模式,我的问题是,如何通过客户端调用rest方法并传递用户ID来从orders_table检索数据?我有一个仪表板,我必须在其中显示登录用户下的所有订单。 客户端项目是一个Spr

  • 我刚刚开始将我的项目分离到小微服务中。我有一个处理 API 授权的微服务(检查 API 请求中提供的 apiKey 是否有效),因此为此,我有一个单独的 API 授权数据库,其中包含下表和以下架构: APIKey: ApiKey (VARCHAR, PK) TenantID (INT, FK) 租户:租户ID(INT, PK)名称(VARCHAR) 如您所见,APIKey表链接到租户表。 我有另一

  • 我经常听说,在微服务架构中,对于每一个微服务,我们都必须创建单独的数据库。 但是,如果我必须在不同的数据库中维护外键约束,这是不可能的。就像我在身份验证微服务中有一个用户表,我想在我的目录服务中使用它(用户表中的用户 ID 列) 那么如何解决呢。 感谢提前

  • 我计划将一个整体ASP. Net MVC应用程序迁移到微服务架构。 该应用程序位于教育领域,下面是当前拥有的子模块, 系统管理员 研究所管理员 候选人/学生门户 辅导员/教师门户 课程设置(可由辅导员或学院管理人员完成) 考试门户 报告门户[新] 视频会议门户[新] 为了实现微服务架构,我打破了当前的系统,如下图所示,并为每个模块创建DB。 在这里我面临一个问题,比如说考试 Db 目前与课程和科目

  • 问题内容: 我已经在Google Store中有一个应用程序。我正在使用具有3个表的内置数据库,并在应用程序首次启动时将其复制。现在,我想升级到该应用程序并添加另一个表。下面是我的代码。 我想问几个问题。上面的代码未升级。 现在,如果我是该应用程序的新用户,是否需要编辑旧数据库并制作另一个CKRecording表,并用放置在资产中的当前数据库替换该数据库,或者上述代码也适用于新用户? 问题答案: