目录
- SpringCloud微服务入门(零),开篇
- SpringCloud微服务入门(一),Eureka注册中心
- SpringCloud微服务入门(二),Eureka Client
- SpringCloud微服务入门(三),Eureka高可用集群
- SpringCloud微服务入门(四),创建服务
- SpringCloud微服务入门(五),Feign实现服务通信
- SpringCloud微服务入门(六),负载均衡Ribbon
- SpringCloud微服务入门(七),服务网关Zuul
- SpringCloud微服务入门(八),服务熔断组件Hystrix
- SpringCloud微服务入门(九),统一配置中心Config
- SpringCloud微服务入门(十),完结篇,是结束也是开始
- 番外篇 - 安装Docker,运行RabbitMQ镜像)
正文
有了前面三节的经验,接下来可以开始着手创建服务了。所谓的服务就是把系统的功能按模块拆分出来,成为一个可以独立运行的应用。
用粗暴一点的话说:以前系统有用户模块、园区模块。现在用户模块就是一个独立项目,园区模块也是一个独立项目。它们可以单独运行。
至于服务之间是怎么通信的,后面会有介绍。
1、我们这一节的目标
首先创建一个园区服务,提供一个返回园区列表的REST接口;再创建一个设备服务服务,编写一个REST接口,参数是园区ID,返回园区下对应的设备列表。
1.1、园区服务接口定义
[GET] /park-list
{
"code": 0,
"msg": "success",
"data": {
"total": 2,
"rows": [{
"id": 1001,
"name": "地王大厦"
},
{
"id": 1002,
"name": "国金中心"
}
]
}
}
1.2、设备服务接口定义
[GET] /devices-list/{park_id}
{
"code": 0,
"msg": "success",
"data": {
"total": 1,
"rows": [{
"id": 2001,
"name": "5F-501门口摄像头"
}
]
}
}
目标总结:要创建两个服务,里面各有一个接口。上面就是接口的定义和要返回的数据。
2、创建服务
跟第二节创建EurekaClient的方式一模一样。服务可以简单的看成是EurekaClient客户端也不为过。这里直接贴出创建好的项目截图
(图一)park服务
(图二)devices服务
(图三)park服务和devices服务启动后注册成功后的应用列表
3、创建服务接口
笔者偷个懒,不连接数据库,直接返回定义好的死数据。其实就是SpringBoot的简单应用。
3.1、/park-list
(图四)
图四代码涉及到好几个package和java文件,这里不一一贴出了,在这里可以查看:https://gitee.com/dev-tang/learn-springcloud/tree/sc-03/park
3.2、/devices-list/{park_id}
(图五)
图五代码地址:https://gitee.com/dev-tang/learn-springcloud/tree/sc-03/devices
按照上面三个步骤,创建好了park服务和devices服务。并且确定接口是可以访问。但现在服务之间还是各自为战,下一节笔者带你一起学习服务与服务之间如何调用。