微服务架构咨询和培训服务

本站点由 Chris Richardson 编写和维护,他是经典技术著作《POJOS IN ACTION》一书的作者,也是 cloudfoundry.com 最初的创始人。Chris 的研究领域包括 Spring、Scala、微服务架构设计、领域驱动设计、NoSQL 数据库、分布式数据管理、事件驱动的应用编程等。Chris 是一位连续创业者,eventuate.io 是他的最新创业项目,一个微服务应用和数据服务平台。

Chris 定期为企业提供微服务设计培训和实战项目的架构咨询服务。近年来 Chris 多次访问中国,为包括华为、SAP、惠普、东风汽车等大型企业提供微服务架构相关的技术咨询服务。如您希望与 Chris 深入交流,建立合作,请点击下方按钮跟他取得联系。

预约课程

微服务应用的示例代码

为了避免纸上谈兵,Chris 提供了一套与这些模式相关的示例代码。这组代码使用 eventuate 框架,实现了微服务架构下分布式数据的存取。请点击下方按钮访问。

访问代码


模式库

核心模式

服务拆分

部署模式

需要关注的边界问题

通讯模式

数据管理

安全模式

可测试性

可观测性

UI 模式


订阅微服务邮件列表

全新的微服务应用支撑平台,成功解决微服务架构下分布式数据管理的难题。

了解更多

加入 微服务架构的 Google 讨论组(需要翻墙)

微服务的模式语言

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

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

核心模式(Core patterns)

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

服务拆分(Decomposition)

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

部署模式(Deployment patterns)

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

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

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

通讯模式(Communication patterns)

风格

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

外部 API

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

服务发现

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

可靠性

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

  • 断路器(Circuit Breaker) - 当远端服务返回的故障率超过一定的阀值时,客户端代理(比如 API 网关)对远程服务的调用将立刻返回失败的信息

数据管理(Data management)

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

安全(Security)

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

测试(Testing)

如何更便捷的测试?

可观测性(Observability)

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

UI 模式(UI patterns)

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


Tweet
© 2017 Chris Richardson 版权所有 • 保留一切权利 • 本站由 Kong 提供支持.