按关键词阅读:
· 当创建应用程序的当前和过去状态 , 需要强大的审核和事件回放能力时 。
何时不使用此模式:
· 当常规CRUD操作足以满足用户需求时 。
绞杀者模式(Strangler)
如果想在组织中实现应用程序现代化 , 那么Strangler重写设计模式是必须的 。 Strangler设计模式主张在遗留部分和和新应用程序之上创建外观 , 为消费者提供抽象的视图 。
文章插图
这种模式使消费者与迁移活动脱钩 。 在典型的IT组织中 , 如果要从一个ERP迁移到另一个ERP , 这种模式将非常有用 。 如果使用的是API网关 , 在网关代理本身中实现此功能则更加容易 。 你需要决定的是 , 在迁移结束时要保留该外观还是将其删除 。
何时使用此模式:
· 在迁移或更新一个高依赖性的复杂应用程序时 , 例如ERP迁移 。
何时不使用此模式:
· 若迁移简易 , 直接替换是更好的选择时 。
随航模式(Sidecar)
随着微服务的兴起 , Sidecar模式开始流行 。 这种模式将应用程序的组件部署到单独的进程或容器中 。 这有助于实现抽象和封装 。
Envoy Proxy是最流行的Sidecar代理之一 , 被广泛使用 。 它通过使用Sidecar隔离网络、可观察性和安全性等常用功能 , 从而帮助你使应用程序的核心功能保持独立 。
文章插图
这种类型的Sidecar可以帮助抽象L4 / L7类型的通信 。 像Envoy Proxies这样的Sidecar甚至通过实现双向TLS来提高安全性 。 你可以将其与服务网格结合使用 , 以在各种微服务之间实现更好的通信和安全性 。
何时使用此模式:
· 在产品范围内处理多种异构微服务时 。
· 处理无法应对新时代的通信和安全挑战的传统应用程序时 。
何时不使用此模式:
· 当处理有限数量的相互通信服务时 。
· 小型应用 , 在这种应用中 , sidecar部署可能不经济或不便于运营 。
服务于前端的后端(BFF)
在典型的产品开发周期中 , 后端工程师负责创建与数据存储交互的服务 , 而前端工程师则负责构建用户界面 。 如今 , 应用程序的构建需要考虑到移动端和桌面端的使用情况 。
尽管就硬件而言 , 移动设备和台式设备之间的差距越来越小;但对于移动设备而言 , 连接性和使用率仍然是挑战 。 在这种情况下 , BFF模式变得非常方便 , 可以为特定的前端构建/自定义后端服务 。
文章插图
为了优化移动客户端的性能 , 需要构建一个以轻量级和分页式响应进行响应的单独后端服务 。 你可能还希望将此模式用于各种服务的聚合 , 以减少闲聊式的交流 。
如果你使用的是API网关 , 则可以在网关本身中轻松实现BFF模式 , 而无需维护单独的服务 。
何时使用此模式:
· 当需要为不同的客户端(例如台式机和移动客户端)提供产品/服务时 。
· 当要针对特定类型的客户端优化响应时 。
· 当希望减少移动客户端与各种服务之间的聊天通信时 。
何时不使用此模式:
· 当应用程序用户应使用单个用户界面时 。
· 移动和桌面应用程序将展示相似的信息并提供相似的功能时 。
这些经典模式 , 你掌握了嘛?
文章插图
留言点赞关注
我们一起分享AI学习与发展的干货
如转载 , 请后台留言 , 遵守转载规范
稿源:(未知)
【傻大方】网址:http://www.shadafang.com/c/111J291532020.html
标题:断路器、绞杀者、随航模式……专业结构设计模式知多少?( 二 )