微服务的模式语言

2019-02-18  本文已影响0人  KingOfLion

咱们开始聊聊微服务架构的模式语言吧。

[译注]:模式语言提供了讨论问题的交流术语,它明确了特定场景、特定问题的解决方案和延伸性思考。模式语言主要目的是帮助开发者解决在设计和编程中遇到的共同的问题,即清晰的问题陈述、体现问题的解决方案以及推动解决方案的力量(Force)的清晰表述。微服务架构作为一个现在流行的服务架构,也有一套属于自己的模式。这篇文章是微服务架构相关模式语言的一个提纲。Chris Richardson 从不同的角度,对相关的模式进行了分类。可以点击链接查看每个模式的详细描述。下图通过虚线框细分了不同的微服务模式。

https://microservices.io/i/MicroservicePatternLanguage.jpg

核心模式(Application architecture patterns)

您为应用程序选择哪一种架构?

服务拆分(Decomposition)

如何把应用拆分为若干个服务?

部署模式(Deployment patterns)

如何部署应用程序的服务?

需要关注的边界问题(Cross cutting concerns)

如何处理服务实例与外界交互的问题?

通讯模式(Communication patterns)

风格

应该选择怎样的通信机制来进行服务间通讯和外部客户端通讯?

外部 API

如何处理外部客户端与服务之间的通讯?

服务发现

一个基于 RPI 的客户端如何在网络上发现服务实例的位置?

可靠性

如何避免由于服务故障或网络中断所引起的故障蔓延到其他服务?

数据管理(Data management)

如何实现数据一致性和查询?

安全(Security)

如何向服务实例传递访问客户端的身份信息?

测试(Testing)

如何更便捷的测试?

可观测性(Observability)

如何掌握一个运行中微服务应用的行为并进行有效的故障排错?

UI 模式(UI patterns)

如何将源自多个服务的信息组织在一起生成 UI 界面或 Web 页面?

上一篇 下一篇

猜你喜欢

热点阅读