【发布时间】:2017-04-23 16:48:07
【问题描述】:
如何管理微服务的前端,尤其是当您拥有通用组件时?我在互联网上找到了一些解决方案,但它们都有一些缺点,没有一个适合我们。
让我澄清一下我的问题。我们有超过 5 组人员在一个大型项目中从事不同的微服务工作。而且几乎所有这些在前端都有一些共同的、共享的组件。这些组件非常庞大,因为它们已经是一个不同的项目,但完全共享。现在如何管理这些共享组件或者我们应该复制它们?
我找到的第一个解决方案是让这些组件在需要时从不同组共享和维护,例如节点包和 npm install。但是在这一点上,微服务方法被打破了,因为每个人都将依赖这些组件,没有人能够在需要时立即维护,这不好。而且很难维护,因为将来不同的组可能对组件有不同的需求。
第二是根据每个项目复制组件并在微服务组内开发,但这一次变得非常科学,我们应该遵守的共同概念很难掌握。这是一个真正的企业项目,所有组件都应该在行为方面匹配,并查看项目中再次出现的其他组件。
因此,我们需要一个适用于企业项目的微服务前端解决方案,该解决方案需要在不同点遵守相同的规则(如字体大小、颜色、操作等),因为它是整体编写的,但可由以下人员维护不同的组。
我们如何才能平衡这一点?
感谢@kayess:很快如何在微服务上应用共享内核,因为团队不会相互依赖?
【问题讨论】:
-
对我来说,这听起来像是您从 DDD 术语中询问 shared kernel 和 this。
-
我寻找共享内核,它被定义为“系统的一个商定子集可能在不同团队之间共享。适用严格的协调规则。”这完全符合我们想要的。现在的问题是如何在微服务上应用共享内核,因为团队之间不相互依赖。
-
我认为您应该将此信息彻底编辑到您的问题中以获得简洁的答案。
标签: architecture frontend single-page-application microservices orchestration