【问题标题】:Microservice, is it more suited to NoSQL微服务,是不是更适合 NoSQL
【发布时间】:2021-06-30 00:16:39
【问题描述】:

使用微服务意味着不可能实现第三范式,否则我将不得不复制数据。那么这意味着使用微服务我必须使用 NoSQL,对吧?

【问题讨论】:

  • 微服务与数据库设计无关

标签: nosql microservices


【解决方案1】:

不,这不一定是要求。微服务可以使用它喜欢的任何类型的存储后端,并且仍然是微服务。事实上,多个微服务可能确实使用相同的后端,从而跨服务保持第三范式。

换个角度看,第三范式只存在于数据访问的角度,所以虽然由许多微服务组成的整体应用程序可能不属于第三范式,但每个微服务本身可能都属于第三范式。第三范式。

最后,没有要求 SQL 数据库是第三范式。这只是一个架构目标,而不是技术要求。

【讨论】:

  • 也许每个微服务都可以实现自己的第三范式,但它仍然连接到其他共享表之间关系的微服务。所以我的微服务将不得不调用另一个更新他们的表,对吧
  • 是的,服务网格的一种架构是每个服务负责自己的域,这样整个微服务集就达到了第三范式。大多数微服务实现最终都会演变为这种架构,但现在您必须考虑跨服务 authn/authz(通常使用 JWT 来实现,以避免在 auth 服务或类似服务上出现瓶颈)。
  • 好点@MikahBarnett,尽管如果代理太瘦,或者服务太不灵活,你仍然可以得到紧密耦合。作为依赖方或服务,不要忘记对您所接受的内容(并且对您制作的内容)保持宽容。
  • 微服务拥有完成其工作所需的表或数据源(在面向表的架构以外的情况下),不多(希望不少)。研究这个:brainyquote.com/quotes/antoine_de_saintexupery_121910
  • “微服务”名字中有“micro”,并不代表它更容易管理。
猜你喜欢
  • 2018-12-09
  • 2018-08-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-12
  • 2019-11-15
  • 2019-09-10
  • 2018-09-29
  • 1970-01-01
相关资源
最近更新 更多