在本系列的上一篇文章中,我们搭建了 ServiceComb 的开发环境并开发了一个服务,在本文中,我们将继续搭建一个 Gateway 服务,以便于从为业务服务提供附加的能力。
构建Gateway服务项目
在 IDEA 中新建一个 maven 项目,将 GroupI 名为为: org.apache.servicecomb.samples, artifactId 指定为:bmi-gateway。项目建立后,打开项目中的 pom.xml 文件,将其修改为以下内容:
1 |
|
保存以后, IDEA 会自动下载需要的第三方库。
构建项目启动类
因为需要用的能力都是在 ServiceComb 或 Spring Boot / Cloud 中实现了的,所以我们需要定义一个启动类即可。
新建一个 package, 名为: org.apache.servicecomb.samples.bmi, 然后在 package 中新建一个类,名为: GatewayApplication, 代码如下:
1 |
|
定义服务配置文件
需要用到两个配置文件,都放在项目的 src/main/resources 目录下。
- microservice.yaml
1 | APPLICATION_ID: bmi |
- application.yaml
1 | zuul: |
启动服务
在 IDEA 中运行刚才建的 bmi-gateway 项目。可以看到在 Run TAB 中的输出如下:
1 | 2019-10-25 11:11:17.321 INFO 7695 --- [ main] org.apache.servicecomb.core.SCBEngine : Service information is shown below: |
可以看到,已经将自身注册到注册中心了。
验证
在浏览器地址栏中个输入:
1 | http://localhost:8889/calculator/bmi?height=170&weight=50 |
浏览器中显示:
1 | {"result":24.2,"instanceId":"c6753089f6cf11e9ae530242ac110002","callTime":"10:42:07"} |
下一步
在下一篇文章中,将介绍 Gateway 的负载均衡能力。