通常,基于微服务架构的后端应用程序由前端的整体应用程序(通常以 Web 应用程序的形式)进行补充。虽然服务器端系统受益于分布式架构的所有优点,但众所周知的挑战阻碍了前端的开发。可扩展性、灵活性、组织以及持续集成和交付方面的优势不会超出后端的边界,但会在整体应用程序开发开始时结束。微前端的概念旨在通过将前端 Web 应用程序划分为单独的、独立的子系统来解决这个问题。这创建了从用户界面到服务器端数据逻辑和持久性的垂直结构。
具有微前端的垂直结构,来源
优点和缺点
应该强调的是,微前端较少用于解决技术性质的问题,而是代表克服组织挑战的一种手段。微前端提供了很大的潜力,特别是对于后端基于微服务架构的大型项目,并且可能已经需要开发团队的职能部门。具体来说,它们的使用具有以下优点:
由自治团队独立开发和交付
松散耦合和更简单的代码库
各个团队的技术独立性
然而,当将微前端视为一种架构模式来使用时,发挥作用 澳大利亚 whatsapp 数据 的不仅仅是其优点。与软件开发中的任何解决方案一样,它们并不是“灵丹妙药”,而是有一些缺点。这些主要归因于技术和组织复杂性的增加,应考虑以下方面:
将应用程序划分为子系统
将子系统合并为一个整体系统
确保一致的用户体验
依赖管理
基础设施成本增加
任何考虑微前端架构的人都应该投入足够的时间进行规划,以便正确评估所涉及的工作并能够在早期阶段解决任何问题。
技术实施
如果将微前端与微服务的受欢迎程度进行比较,您会发现前者远不如后端那么成熟。这也可能是没有最佳实践或“可行”实施方法的原因之一。由于微前端的原理基本上只是单独开发和部署独立的前端应用程序并将它们组合成一个无缝的整体应用程序,因此实现选项范围从简单的本机解决方案到更复杂的工具支持的方法。下面我将向您展示使用 webpack 和 Module-Federation 的实现。