首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SpringCloud架构开发实战:实现服务负载均衡及高可用

实现服务的负载均衡及高可用

在前面我们重新实现了微服务,其中天气数据采集微服务、天气预报微服务都重新采用了Feign技术,以便通过应用的名称来访问外部RESTful服务。结合Eureka部署实例,就能实现微服务的负载均衡及高可用。

天气预报系统的微服务

截至目前,天气预报系统的最新版本微服务共有以下4个。

msa-weather-collection-cureka-feign:基于msa-weather-collection-cureka和Feign实现的天气数据采集微服务。

msa-weather-data-eureka:天气数据API微服务。

.msa-weather-city-eureka:城市数据微服务。

msa-weather-report-cureka-feign:基于msa-weather-report-cureka和Feign实现的天气预报采集微服务。

运行微服务实例

我们先运行Eureka Server实例micro-weather-cureka-server,它启动在8761端口。

其次要运行Redis服务器。

而后我们分别在8081和8082上启动了msa-weather-collection-cureka-feign'实例两个,在8083和8084上启动了msa-weather-data-eureka实例两个,在8085和8086上启动了msa-weather-city-eu-reka实例两个,在8087和8088上启动了msa-weather-report-eureka-feign实例两个。启动脚本如下。

这样,就可以在Eureka Server上看到这8个实例的信息。访问http://localhost:8761,可以看到如图9-3所示的Eureka Server自带的UI管理界面。

测试天气预报服务

访问天气预报微服务的任意一个实例,都能够正常使用天气预报服务。例如,我们通过浏览器访问其中一个实例http:/localhost:8088/reportlcityld/101280601,能看到如图9-4所示的天气预报服务界面。

我们可以关闭其他微服务的任意一个实例来模拟故障。例如,关闭城市数据微服务中的一个实例,只要还有另一个实例在正常运行,那么,天气预报系统就仍然能够正常使用。这说明天气预报系统已经具备了负载均衡的功能,以及能够在服务异常的情况下保证整个系统的可用性的能力。

源码

本节示例所涉及的源码,见micro-weather-eureka-server、msa-weather-data-cureka和 msa-weather-city-eureka,以及msa-weather-collection-cureka-feign和 msa-weather-report-eureka-feign。

本篇文章内容给大家讲解的是实现服务的负载均衡及高可用

下篇文章给大家讲解API网关的意义和常见API网关的实现方式;

觉得文章不错的朋友可以转发此文关注小编;

感谢大家的支持

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201127A072O200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券