因此,我将开发至少5-6 Res的终点。(都是不同的和无国籍的)现在我就下列问题进行辩论:
发布于 2019-04-05 02:22:13
微服务的全部意义在于它们是独立的、可部署的和可扩展的。如果您谈论的是5-6个文字端点(uri端点、套接字、消息类型--实际上是5-6个可调用函数),那么将它们组合在一起是很好的。每次部署都有一个功能,这可能是病理/不实际的微观。
如果您谈论的是5-6个实体(以及所有要处理它们的操作),那么这就变成了一个权衡的问题。这些实体是否有可能共同变化?您的CI/CD流程是否成熟?如果你明天不发货,你的项目会失败吗?
如果你说的是5-6个概念,每个概念都有多个实体和它们需要的所有操作.那么他们很可能会被分开部署。我的意思是,为了便于实现,您当然可以将它们全部部署在一起--但在这一点上,它们并不是真正的微服务。
发布于 2019-04-05 07:32:52
微服务架构在这个问题上提出的许多答案与公司面向市场的商业战略密切相关。
微型服务并不是终点。这是结束的刻薄。推动解决方案实现的是业务策略。你必须先问利益相关者哪些行为是可以接受的。
它们应该合并为单个的war/ear,还是单独部署每个服务?
@Telastyn回答说,这取决于5-6个端点是什么。他们的责任,他们的关键。
在部署期间将它们作为单一的战争停机时间部署,这是否值得关注?
不管有没有平衡,都应该如此。如果端点涵盖了不同的业务功能,那么您应该询问涉众,对于每个功能,哪些停机时间是可以接受的。您可能会发现,某些服务(端点)比其他服务更具有批判性。有些公司可能会比其他公司更长时间的下跌,而不会给公司带来重大损失。想象一下,如果亚马逊关闭其购物车服务或支付网关几分钟后会发生什么情况。
在任何问题的情况下,在一场战争中,所有的服务都会受到影响,与单一的服务-这是如何现实的?
当然,DDoS攻击会危及整个系统(如果系统由5-6个端点组成)。作为一个整体存在的东西,也会作为一个整体死去。
还有其他应该考虑的参数吗?
太多了,不能用简短的答案来概括。
Microservices的不成文规则是分而治之的。划分多少是纯粹的策略。
https://softwareengineering.stackexchange.com/questions/389844
复制相似问题