# weathermap **Repository Path**: micoder/weathermap ## Basic Information - **Project Name**: weathermap - **Description**: 天气预报是一个基于ServiceComb开发的微服务应用,可以根据用户输入的城市名称查询天气情况,其中: 1、 weathermapweb是一个基于node.js语言开发的界面微服务 2、 fusionweather微服务为界面提供数据,基于java语言开发 3、 forecast微服务提供指定城市未来几天天气情况预测的微服务,基于java语言开发 4、 weather微服务提供指定城市当前的天气 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 4 - **Created**: 2022-05-13 - **Last Updated**: 2025-04-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### [English](README.md) [Apache ServiceComb](https://servicecomb.apache.org/)是一个简单易用的微服务开发框架,它提供了大量开箱即用的特性,如服务注册发现、配置管理、负载均衡、容错熔断、限流降级等,可以让您快速构建微服务应用。 [华为云ServiceStage](https://www.huaweicloud.com/product/servicestage.html)提供一系列工具和平台,可以帮助用户更好的管理ServiceComb微服务应用。如下图所示,用户可以基于ServiceStage完成ServiceComb微服务应用的开发、构建、部署、运维、注册、负载均衡、限流、降级、熔断、容错、错误注入、黑白名单、灰度发布、配置管理、仪表盘等功能。 基于ServiceComb开发的微服务应用,可以根据用户输入的城市名称查询天气情况,其中: 1、 weathermapweb是一个基于node.js语言开发的界面微服务 2、 fusionweather微服务为界面提供数据,基于java语言开发 3、 forecast微服务提供指定城市未来几天天气情况预测的微服务,基于java语言开发 4、 weather微服务提供指定城市当前的天气情况,基于java语言开发 5、 weather-beta微服务是weather微服务的新版本,新增了查询指定城市紫外线情况的功能,基于java语言开发 基于ServiceStage部署的操作指导请参考: [ServiceComb on ServiceStage](https://support.huaweicloud.com/bestpractice-servicestage/servicestage_bestpractice_0108.html) # weathermap应用接入local cse2方法 ## 一,Local CSE2介绍与安装 ### 1,Local CSE2介绍与下载 本地开发工具包含了ServiceComb引擎2.x的本地轻量化版本,提供用于本地开发的轻量服务中心、配置中心,和简单易用的界面。 使用说明请参考本地开发工具压缩包中的README.md文件。 | 功能 | 资源 | 最大配额 | | ------------------------ | -------------------- | -------- | | 微服务管理 | 微服务版本数量(个) | 10,000 | | 单个微服务实例数量(个) | 100 | | | 单个微服务契约数量(个) | 500 | | | 配置管理 | 配置数量(个) | 600 | | 版本 | 对应ServiceComb引擎版本 | 发行时间 | 获取路径 | | ----- | ----------------------- | --------- | ------------------------------------------------------------ | | 2.1.8 | 2.x | 2023.9.25 | [Local-CSE-2.1.8-windows-amd64.zip](https://cse-bucket.obs.cn-north-1.myhuaweicloud.com/LocalCSE/Local-CSE-2.1.8-windows-amd64.zip) | | 2.1.8 | 2.x | 2023.9.25 | [Local-CSE-2.1.8-linux-amd64.zip](https://cse-bucket.obs.cn-north-1.myhuaweicloud.com/LocalCSE/Local-CSE-2.1.8-linux-amd64.zip) | | 2.1.8 | 2.x | 2023.9.25 | [Local-CSE-2.1.8-linux-arm64.zip](https://cse-bucket.obs.cn-north-1.myhuaweicloud.com/LocalCSE/Local-CSE-2.1.8-linux-arm64.zip) | | 2.1.8 | 2.x | 2023.9.25 | [Local-CSE-2.1.8-darwin-amd64.zip](https://cse-bucket.obs.cn-north-1.myhuaweicloud.com/LocalCSE/Local-CSE-2.1.8-darwin-amd64.zip) | | 2.1.8 | 2.x | 2023.9.25 | [Local-CSE-2.1.8-darwin-arm64.zip](https://cse-bucket.obs.cn-north-1.myhuaweicloud.com/LocalCSE/Local-CSE-2.1.8-darwin-arm64.zip) | ### 2,local cse2 版本安装 我这里采用openeuler系统安装,所以需要下linux-amd64位版本。 #### 1)前提条件 - 由于启动本地服务中心将会占用此台机器的30100、30110和30103端口,其分别表示服务中心的后台、配置中心的后台和前台服务端口。请确认以上端口未被使用。 - 使用本地开发工具前,请确认环境是否满足以下要求: - 操作系统:Linux/Unix、Windows 64 bit - CPU架构:x86/arm - 浏览器:Chrome、Safari、Edge #### 2)启动本地服务中心 1. 进入[本地开发工具说明](https://support.huaweicloud.com/devg-cse/cse_04_0046.html),根据具体环境下的操作系统、CPU架构,下载对应版本的本地开发工具压缩包到本地并解压缩到安装目录。 2. 启动CSE。 - Linux/Unix系统,进入安装根目录,执行如下命令: ``` nohup sh start.sh >/dev/null 2>&1 & ``` - Windows系统,进入安装根目录,双击cse.exe文件启动。 3. 停止CSE。 - Linux/Unix系统,进入安装根目录,执行如下命令: ``` sh stop.sh ``` - Windows系统,关闭命令行窗口。 ## 二,部署前台与后台应用 1,修改接入cse2的代码信息,根据情况修改ip地址,需要修改edge-service,forcast,fusionweather,weather。 ```yaml registry: address: http://127.0.0.1:30100 #此处填写要注册到的微服务引擎的注册中心地址 kie: serverUri: http://127.0.0.1:30103 #此处填写要注册到的微服务引擎的配置中心地址 ``` 2,修改weathermapweb应用的SERVICE_ADD变量, 找到weathermapweb\routes\weathermapweb.js 如下: ```yaml var service_addr = process.env.SERVICE_ADDR || '127.0.0.1:13092' ``` 3,打包java应用。 ```shell mvn clean package -Dmaven.test.skip=true ``` 4,启动java应用与前台UI,前台需要使用nodejs启动。