HCIE云服务实验第八期-公有云应用架构设计体验3-weathermap微服务搭建

举报
richblue88 发表于 2020/06/06 15:27:08 2020/06/06
【摘要】 1 Fork代码到DevCloud中https://hd.devcloud.huaweicloud.com/codehub/project/fc4fd3f3f8274066abc5d9e5e4bfe0ec/codehub/5270841/home 2 创建RDS数据库新建数据库,输入数据库名称为“weathermap_user_db”输入以下SQL命令。执行完成后,返回数据库管理界面,刷新界...

Fork代码到DevCloud中

https://hd.devcloud.huaweicloud.com/codehub/project/fc4fd3f3f8274066abc5d9e5e4bfe0ec/codehub/5270841/home


创建RDS数据库


新建数据库,输入数据库名称为“weathermap_user_db”

输入以下SQL命令。


执行完成后,返回数据库管理界面,刷新界面,看到已创建一个名为“t_user”的数据表。

K8S集群


返回微服务云应用平台K8S集群界面,看到已存在两个节点,对已有弹性IP的节点设置标签,点击“标签管理”

在“标签管理”对话框中,点击“添加标签”,输入键信息为“ip”,值信息为“public”,然后点击“确认”

构建天气预报微服务应用


在微服务云应用平台上选择“持续交付>构建>基于源码构建”。


6个微服务应用fusionweather、forecast、weather、weather-beta、userservice、edge构建方法相同:

weathermap-weathermapweb

部署天气预报微服务应用

在微服务云应用平台“应用管理>应用列表”界面下点击“创建应用”

选择应用类型为“ServiceComb”



按上述方法部署微服务weather、weather-beta、fusionweather

为fusionweather添加外部访问方式


按上述方法部署微服务userservice

 部署微服务edge,为edge添加内网访问方式



部署微服务weathermapweb



返回应用页面,点击weathermapweb的域名,在弹出页面中输入任意用户名和电话号码


看到天气预报微服务应用已部署完成

ServiceStage服务治理

6.1 负载均衡


选择“fusionweather”微服务

在“fusionweather”微服务界面,点击右上角“治理”

点击“负载均衡>新增”,选择微服务为“weather”,会话保持时间“300”,失败次数阈值“5”,点击“确定”。

此时回到servicestage微服务云应用平台,在应用列表中,停止刚刚进行会话粘滞(不带紫外线版本)的weather微服务

返回到天气预报应用的界面,并进行刷新,可以看到weather模块的界面切换到了有紫外线版本上面。


返回服务治理界面,删除刚刚设置的负载均衡策略

6.2降级

在服务治理界面,点击“降级>新增”,填写以下参数后,点击“确定”。

降级对象:forecast

降级对象方法:forecase.getForecast

降级策略:开启


weathermapweb服务的页面,可看到中间forecast微服务对应的模块已无法显示,说明降级策略生效。

返回服务治理界面,删除刚刚创建的降级策略

6.3  熔断

在服务治理界面,选择“熔断”,点击“新增”。填写以下熔断参数后,点击“确定”。

熔断对象:weather

熔断对象方法:weather.showCurrentWeather

触发条件:手动熔断



weathermapweb服务的页面,可以看到weather模块的显示出现错误。

返回服务治理界面,删除刚刚设置的熔断

6.4 错误注入


在服务治理界面,选择“错误注入”,点击“新增”。填写以下错误注入参数后,点击“确定”。

注入对象:weather

注入对象方法:weather.showCurrentWeather

类型:错误

协议:Rest

http错误码:404

触发概率50%



weathermapweb服务的页面,可以看到weather模块的显示出现错误,当刷新时恢复正常,正常页面和错误页面交替出现。

返回服务治理界面,删除刚刚设置的错误注入

6.5 限流

在服务治理界面,双击forecast服务

点击“限流>新增”,填写以下参数后,点击“确定”。

限流对象:fusionweather

QPS:10


打开加压工具jmeter

修改HTTP请求中的“服务器名称或IP”以及“端口号”,输入fusionweather服务对应的外部访问地址及端口号


打开weathermapweb服务的页面,可以看到当流量上升时,forecast模块已无法显示。



当停止加压工具运行时,刷新页面,可以发现页面恢复正常

返回服务治理界面,删除刚刚设置的限流策略。

6.6 灰度发布


进入“weather”服务界面,选择“灰度发布”,点击“添加灰度发布规则”




打开weathermapweb服务的页面,在搜索栏中输入“hangzhou”。可以看到杭州的天气有紫外线模块,其他城市天气无紫外线模块。说明灰度发布已生效。




【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。