【微服务架构】IBM微服务参考架构

在微服务应用程序架构风格中,应用程序由许多离散的,网络连接的组件组成,称为微服务。微服务架构风格是SOA(面向服务架构)架构风格的演变。使用SOA服务构建的应用程序倾向于专注于技术集成问题,而实现的服务级别通常是细粒度的技术API。相比之下,微服务方法通过更大粒度的业务API实现了明确的业务功能

这两种方法的最大区别在于它们的部署方式。多年来,应用程序已经以单片方式打包 - 这是一个开发人员团队构建了一个大型应用程序,可以满足业务需求。构建之后,该应用程序随后在应用程序服务器场中多次部署。相比之下,使用微服务架构风格,开发人员可以独立构建和打包几个较小的应用程序,每个应用程序只实现整个应用程序的一部分。

MSA reference architecture

功能要求

  1. 通过移动和Web应用程序背后的API构建微服务。

  2. 为微服务提供实现选择,例如Java,Node JS,Swift等。

  3. 使用API​​ Connect/Gateway将微服务暴露给前端。

  4. 从iOS或Android中构建的本机移动客户端以及使用AngularJS或ReactJS等技术的Web客户端调用API。

  5. 使用不同的云工作负载模式部署微服务,例如Docker,Cloud Foundry和基于Apache OpenWhisk的IBM Cloud Functions。

  6. 使用微服务框架,如Amalgam8或Netflix OSS,实现众所周知的微服务模式,如路由,断路器和自动缩放。

  7. 通过使用群集,自动扩展,故障转移,断路器,批量头和灾难恢复来创建弹性微服务。

  8. 为前端应用程序使用关键服务,例如移动分析,推送通知,内容管理等。

  9. 为基于微服务的应用程序的操作,监视和管理提供指导。

  10. 通过提供有关如何为微服务和前端构建持续集成/连续交付管道的详细指导,构建端到端DevOps。

  11. 在微服务环境中使用Garage Method for Cloud,例如测试驱动开发。