购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.6 如何实现微服务架构

至此,不仅知道了微服务架构的定义及其优缺点,还总结了一些指导性的原则,为合理架构微服务提供了理论支持。

下面来探讨一下,如何实现微服务架构。

1.6.1 技术选型

相对单体应用的交付,微服务应用的交付要复杂很多,不仅需要开发框架的支持,还需要一些自动化的部署工具,以及IaaS、PaaS或CaaS的支持。

下面从开发和运行平台两个维度考虑挑选技术选型。

●开发框架的选择:可使用Spring Cloud作为微服务开发框架。首先,Spring Cloud具备开箱即用的生产特性,可大大提升开发效率;再者,Spring Cloud的文档丰富、社区活跃,遇到问题比较容易获得支持;更为可贵的是,SpringCloud为微服务架构提供了完整的解决方案。

当然,也可使用其他的开发框架或者解决方案来实现微服务,例如Dubbo、Dropwizard、Armada等。

●运行平台:微服务并不绑定运行平台,将微服务部署在PCServer,或者阿里云、AWS等云计算平台都是可以的。出于轻量、灵活、应用支撑等方面的考虑,本书将演示如何在Docker上部署微服务。

img

●Dubbo的GitHub: https://github.com/alibaba/dubbo .

●Dropwizard的GitHub: https://github.com/dropwizard/dropwizard .

●Armada的GitHub: https://github.com/armadaplatform/armada .

1.6.2 架构图及常用组件

在进入实战之前,先来通览一下微服务架构,如图1-3所示。

img

图1-3 微服务架构图

图1-3不严谨地表示了一个微服务应用的架构。图中将所有服务都注册到服务发现组件上,服务之间使用轻量级的通信机制通信。由图可以看到,除了ServiceA、ServiceB等,还有服务发现组件、服务网关、配置服务器等组件。这些组件分别是什么?它们的作用又是什么?

读者可以带着疑问继续阅读下去,本书将在实战的过程中进行详细地讲解。

img

之所以说图1-3不严谨,是因为配置服务器可以注册到服务发现组件上;而服务发现组件也可以从配置服务器读取配置信息。 eETSQwxZzStun4h1BqJnr18Vy/e9AaQyU5VyXQtqTETI2BXs3PwbGbc8zfPR4iqf

点击中间区域
呼出菜单
上一章
目录
下一章
×