康威定律几乎就是微前端(准确来说是微服务架构)的理论基础了。它指出了组织架构越庞大,其系统间沟通成本越高的问题。而解决这一问题的有效手段就是,将大的系统拆分成一个个微小的,可以独立自治的子系统。一旦系统的依赖限制在了内部,功能上更加内聚,对外部的依赖变少,那么就能显著的减少跨系统之间的沟通成本了
方案上跟使用 iframe 做微前端一样简单,同时又解决了 iframe 带来的各种体验上的问题。
考虑当你单独打开这个APP时候可以独立完成功能服务提交的一套逻辑
一些组件可能会越过 Shadow Boundary 到外部 Document Tree 插入节点,而这部分节点的样式就会丢失
即在微应用bootstrap和mount两个生命周期之前分别搭载快照,然后当应用切出或者卸载的时候,回滚状态即可。应用切出/卸载时,将状态回滚至 bootstrap 开始之前的阶段,确保应用对全局状态的污染全部清零。而当应用二次进入时则再恢复至 mount 前的状态的,从而确保应用在 remount 时拥有跟第一次 mount 时一致的全局上下文。
微服务下,每个服务有多个实例,需要一种机制将各个服务的实例进行统一管理和监控
各个服务将服务实力信息发送到注册中心,并提供心跳机制保障服务在线
从注册中心获取服务队员的实例列表
一般配合服务发现一起使用,注册中心收到请求之后,会根据不同的负载策略将请求打到不同的服务上
轮训法
随机发
加权轮训
源地址哈希(同一个客户端每次请求都会映射到同一台服务器上,相对固定)
监控微服务的各项指标,打到阈值之后,自动切断该服务的调用,防止服务奔溃影响整个系统。