前一篇文章《微服务操作模型》中,我们定义了微服务使用的操作模型。这篇文章中,我们将开始使用Spring Cloud和Netflix OSS实现这一模型,包含核心部分:服务发现(Service Discovery)、动态路由(Dynamic Routing)、负载均衡(Load Balancing),和边缘服务器(Edge Server),其他部分在后面的文章中介绍。
我们将使用来自Spring Cloud和Netflix OSS的一些核心组件,实现在已部署的微服务交互,不必手动管理配置,如每一个微服务的端口或者手工配置路由规则等等。为了避免端口冲突,我们的微服务在启动时,将从端口段中动态获取可用的端口。为了方便访问微服务,我们将使用Edge Server提供一个微服务的访问入口点。
在简要介绍Spring Cloud和Netflix OSS组件之后,我们将描述本系列文章使用的系统,以及如何访问源代码,并编译。同时,也会简要指出源代码中的最重要部分。最后,我们将运行一些访问服务的测试代码,也会演示如何简单地创建一个新的服务实例,获取并使用负载均衡,所有这一些都不必手工配置。
1. Spring Cloud和Netflix OSS
Spring Cloud是spring.io家庭的一个新项目,包含一系列组件,可用来实现我们的操作模型。很大程度上而言,Spring Cloud 1.0 是基于Netflix OSS组件。在Spring环境中,Spring Cloud 非常友好地集成了Netflix 组件,使用了和Spring Boot相似的自动配置和惯例优于配置。
下表映射了操作模式中介绍的组件和我们将要使用的实际组件: