首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MicroServices体系结构

MicroServices体系结构
EN

Stack Overflow用户
提问于 2017-07-19 01:37:14
回答 1查看 785关注 0票数 0

我几乎没有关于MicroServices体系结构的问题。

  • MicroServices的粒度应该是什么?我们在关系数据库和NoSQL数据库中都有表。每张桌子应该有一份服务吗?我认为每个数据源的服务会更有意义,但那将是SOA。
  • 如果我们创建了一堆MicroServices,那么我们是否也应该提供客户端库来促进服务的消费呢?或者让调用者使用任何REST库进行调用。不管怎么说,这听起来是很多工作。
  • 对于每个MicroService,三个应该是一个GIT回购吗?
  • 在同一个MicroServices实例中部署多个EC2可以吗?
  • 我可以想象在AWS上部署MicroServices将是完美的,但是整个应用程序将仅仅是一堆Lambda函数。更不用说与AWS Lambdas的紧密耦合了。有人在Lambdas上实现了MicroServices吗?如果有任何反馈意见,我将不胜感激。
EN

回答 1

Stack Overflow用户

发布于 2017-07-19 02:43:31

Microservices的实现常常因系统或开发人员而异。然而,微观服务的一些基本特征是,

  • 小焦点(做一件事,做好一件事)
  • 松散耦合(彼此独立操作)
  • 语言中立
  • 有界上下文(不需要知道其他微服务的实现)

我们可以利用AWS来实现上述特性。但是维护和管理Lambda端点可能很棘手,而且常常是个麻烦。您可以使用无服务器框架轻松地管理lambda函数。您可以定义一个简单的YAML格式的服务配置,框架创建一个CloudFromation堆栈并进行部署。

使用无服务器框架,您可以定义多个服务。每个服务都可以是小焦点、松散耦合、语言中立和有限制的上下文。例句:用户CRUD,电子邮件通知,预定的工作等等。当您使用Serverless Framework部署服务时,它会创建与各自lambda链接的不同API网关。您可以使用API网关端点与每个服务进行交互。

正如您已经提到的,lambda可以与其他AWS服务链接。但我认为,只要它不依赖于其他微服务,并且有明确定义的服务集成点,比如Dynamodb表或S3桶,我们就可以使用Lambda来开发微服务。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45179621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档