4.天气预报系统的微服务架构设计

原创 2018年04月17日 07:37:45

1.微服务划分

  1. 天气数据采集界限(数据采集,数据存储),天气预报(数据展示),天气数据API(数据查询),城市数据API(数据查询)
  2. 现有的弊端:大而全而难
  3. micro-weather-report拆分:
    msa-weather-collection-server、
    msa-weather-data-server、
    msa-weather-city-server、
    msa-weather-report-server
    • 系统的数据流向:第三方==(天气数据采集微服务A)》数据存储,天气数据采集微服务A又从城市数据API获取城市列表,采集相应城市
    • 系统的通信设计:
  4. 第三方,GET:http://wthrcdn.etouch.cn/weather_mini?citykey=101280601
  5. 天气数据接口:GET /weather/cityId/{cityId}
  6. 城市数据接口: GET /cites
    • 系统的存储设计
  7. NoSql:Redis
  8. XML,比数据库简单,城市列表不会变的静态数据,根据场景选择的,只有合适否

2.天气数据采集微服务实现

  1. 配置:JDK 8+,Redis 3.2.100,Apache HttpClient 4.5.3,Spring Boot Web Start,Spring Boot Redis Start,Spring Boot Quartz Start,Quartz Schedule
  2. copy生成msa-weather-collection-server,查看pom引用
  3. 修改了,WeatherDataCollectionService
  4. 数据先写死了,todo 改为由城市数据api,来提供数据,先写死
  5. 删除城市数据Service和包
  6. city这个Bean需要,但是不需要解析了,删除工具类XmlBuiler
  7. 最后,整个代码量减少
//todo 改为由城市数据api,来提供数据,先写死
cityList = new ArrayList<>();
City city = new City();
city.setCityId("101280601");
cityList.add(city);

4. 天气数据api微服务的实现

5.天气预报微服务的实现

  1. 天气数据不是从WeatherDataService获取了
//todo该 改为由天气数据API微服务来提供
Weather data = new Weather();
data.setAqi("81");
data.setCity("深圳");未来5
  1. 访问:http://localhost:8080/report/cityId/101280601

6.城市api微服务的实现

  1. msa-weather-city-server
  2. 访问:http://localhost:8080/cities

基于微服务的企业应用架构设计范式

这个话题曾经分别在PWorld大会和QCon2016大会上做过分享,得到不错的反响,今天终于有时间整理到博客上了。 微服务好像是这两年突然火起来的,其实和很多其他架构风格一样,微服务架构也是我们在用...
  • frank_zhu_bj
  • frank_zhu_bj
  • 2016-11-16 13:37:12
  • 2749

微服务改造—架构设计

微服务改造—架构设计 随着我厂业务需求的压力逐渐增长,同时基础设施的不断完善,系统架构的微服务改造被正式提上日程。从微服务改造的目标架构蓝图设计开始讨论,架构组进行了整整两天的激烈讨论,明确...
  • huangshulang1234
  • huangshulang1234
  • 2017-12-19 22:59:43
  • 526

基于微服务架构的云平台总体设计

正好这段时间我们在封闭研发我们的新一代数字化云平台(theplatform),借此机会和大家分享一下我们的总体设计及思路: theplatform是一款基于微服务架构的DevOps容...
  • guwei9111986
  • guwei9111986
  • 2016-05-12 23:36:14
  • 8086

微服务架构设计

  • 2018年02月05日 21:00
  • 2.68MB
  • 下载

微服务架构与分布式事物解决与系统架构设计

集群、高可用、高可扩展、高性能、高并发、性能优化   视频课程内容包含: 高级Java架构师包含:Spring boot、Spring  cloud、Dubbo、Redis、ActiveMQ...
  • qq_39318490
  • qq_39318490
  • 2017-08-11 09:30:16
  • 463

从天气项目看Spring Cloud微服务治理

  • 2018年02月08日 10:04
  • 183B
  • 下载

基于微服务的企业应用架构设计

  • 2017年12月13日 21:36
  • 2.37MB
  • 下载

大项目微服务架构设计

根据目前产品存在的问题,针对快速开发、海量用户、大量数据、低延迟等互联网应用的实际需要,通过对业务架构、系统架构、基础架构、技术架构进行分析,采用先进实用的微服务SOA架构重构智慧校园、数字化校园等产...
  • qq_26562641
  • qq_26562641
  • 2017-02-28 15:12:30
  • 3526

微服务架构设计与实践

  • 2017年06月01日 08:53
  • 13.7MB
  • 下载

系统架构设计之微服务(Microservice)

WHAT - 什么是微服务 微服务简介 这次参加JavaOne2015最大的困难就是听Microservice相关的session,无论内容多么水,只要题目带microservice,必定报不上名...
  • boonya
  • boonya
  • 2016-09-18 17:19:15
  • 3882
收藏助手
不良信息举报
您举报文章:4.天气预报系统的微服务架构设计
举报原因:
原因补充:

(最多只允许输入30个字)