本篇博文的主要内容是基于Spring Boot,集成阿里开源的Dubbo,实现一个RPC服务。为了实现该RPC,主要依赖以下运行环境:
环境 | 版本 |
---|---|
jdk | 1.8+ |
Maven | 2.0+或者3.0+ |
ZooKeeper | 3.4+ |
Spring Boot | 1.5+ |
Dubbo | 2.5+ |
本篇博文的主要内容是基于Spring Boot,集成阿里开源的Dubbo,实现一个RPC服务。为了实现该RPC,主要依赖以下运行环境:
环境 | 版本 |
---|---|
jdk | 1.8+ |
Maven | 2.0+或者3.0+ |
ZooKeeper | 3.4+ |
Spring Boot | 1.5+ |
Dubbo | 2.5+ |
Spring Boot特别适合团队构建各种可快速迭代的微服务,同时为了减少程序本身监控系统的开发量,Spring Boot提供了actuator模块,可以很方便的对你的Spring Boot程序做监控。
在关于Spring Cloud系列之前的文章中,我们对负载均衡、注册中心、配置中心等微服务都做了介绍,已经满足大部分业务场景下的需求。但是仍存在一些问题,比如外部应用应该如何调用后端的各种API服务。此时可以引入网关服务,即Spring Cloud Zuul。它可以帮助我们实现诸如权限控制、服务调用、负载均衡等功能。如下图所示,Zuul主要充当了Api Gateway中的角色。
Spring Cloud Config是Spring Cloud提供的一个用来为分布式系统中的基础服务和微服务提供集中配置的项目。
目前,基于SpringBoot配置的诸多分布式应用,大都把配置文件放在项目的目录下,但是随着节点增多,会带来配置文件管理复杂的问题。为了解决这个问题,可以使用Spring Cloud Config提供的中心化配置服务,其默认使用Git仓库来存储配置信息。简单的配置中心架构如下图所示:
Eureka是Spring Cloud Eureka的简称,是Netflix提供的组件之一。
通过Eureka可以提供服务注册、发现、负载均衡、降级、熔断等功能。本篇主要介绍Eureka作为服务注册中心,以及实现一个基本的负载均衡服务。
Spring Cloud为开发人员提供了一整套的快速构建分布式应用的工具,入服务注册、服务发现、熔断、负载均衡、路由等,提供了开箱即用的各种依赖以及良好的可扩展机制。