一郎科技|大牛带你实时解读微服务架构改造案例:天气预报系统的架构设计( 二 )
天气数据API微服务对于调用方而言 , 大致分为两种 。 一种是提供给天气预报微服务作为天气数据的来源;另一种是直接提供给客户端来调用 。
天气数据的采集依赖于城市数据API微服务 , 因为天气数据采集是根据城市ID列表来进行遍历的 。 同时 , 天气预报微服务也是依赖于城市数据API微服务的 。
系统的通信设计了解了数据流向之后 , 我们就能开始对系统之间的通信方式进行设计 。
我们首先采用基于HTTP的RESTfulAPI的方式来进行系统之间的调用 。 RESTful API具有平台无关性 , 其数据格式可以很好地被开发人员所理解 。
这些API大致分为以下几种 。
- 第三方天气接口 。
*参数:cityId为城市ID 。
- 天气数据接口 。
*参数:cityId为城市ID 。
*调用方式:GET /weather/cityName/{cityName} 。
*参数:cityName为城市名称 。
- 天气预报接口 。
*参数:cityId为城市ID 。
- 城市数据接口 。
*参数:无 。
系统的存储设计我们的系统并没有采用传统的关系型数据库 , 如MySQL、Oracle、SQL Server等 , 而是采用了NoSQL的方式(本书采用了Redis )。
对于经常需要访问的数据 , 放置在Redis缓存中可以极大地提升并发能力 。 同时 , Redis由于都是在内存中操作 , 插入或更新的数据速度会非常快 , 非常适合我们系统的应用场景 。
另外一些数据 , 比如城市信息 , 都是常年不会变更的数据——有时 , 这些数据也称为静态数据或码表数据——那么这类数据就可以简单地用一个文件来进行存储 , 例如 , 本文采用XML的文档格式 , 就能非常方便地实现城市数据的存储和读取 。
本文给大家讲解的内容是天气预报系统的架构设计
- 下篇文章给大家讲解天气数据采集微服务的实现;
- 觉得文章不错的朋友可以转发此文关注小编;
- 感谢大家的支持!!
推荐阅读
- 所持股份|万兴科技:公司控股股东、实际控制人吴太兵质押150万股
- 发布公告|数量过半!博创科技:天通股份累计减持约150万股
- 英雄科技聊数码|蔡崇信有实力买下篮网,那身价3200亿的马云,能买下几支NBA球队
- 科技前沿阵地|涨疯了!海思安防芯片遭哄抬“围剿”
- 月影浓|吴亦凡机械造型走秀 垫肩披风搭银框眼镜科技感足
- 中国历史发展过程|中国历史发展过程.中国的科技史界过去半个多世纪
- 天津|桂发祥:不再持有昆汀科技股份
- 消费|减持!天通股份:减持博创科技约32万股
- 处罚|老周侃股:吉鑫科技大股东应补偿踩雷投资者
- 华中科技大学|杯具!超本科线95分,本科有路不走,却梦幻般碰瓷,撞开专科的门
