本文章将通过大家耳熟能详的例子,讲述如何在ServiceComb上快速进行微服务应用开发,降低学习曲线的同时,增加趣味性,加深理解。
环境准备
Step 1. 安装 JDK8
Step 2. 安装 maven3.5
https://maven.apache.org/download.cgi
Step 3. 安装 Docker
https://www.docker.com/community-edition#/download
Step 4. 安装 Docker Toolbox
https://www.docker.com/products/docker-toolbox(Win 10 Professional/Enterprise 64-bit 或Apple Mac OS Yosemite 10.10.3以上无需安装)
Step 5. 下载 Docker 镜像
docker pull openjdk:8-jre-alpine
docker pull servicecomb/service-center
Step 6. 下载本例子的代码库,运行 mvn compile 获取项目所需的依赖
https://github.com/ServiceComb/LinuxCon-Beijing-WorkShop
业务应用例子背景
假设我们成立了一家科研公司,处理复杂的数学运算,以及尖端生物科技研究,并为用户提供环境分割数列计算和蜜蜂繁殖规律(计算每只雄蜂/雌蜂的祖先数量)。以下对业务场景进行分析:
门卫:聘用了门卫认证用户,避免不法分子混入,确保对用户消费的运算能力收费的安全性。
技工:雇佣相应技工,提供黄金分割数量运算能力。
养蜂人:公司建立自己的蜂场,雇佣相应养蜂人对蜜蜂繁殖规律进行管理研究。
告示栏:建立告示栏机制,让闲暇的人员发布自己的联系方式,公司可通过该告示栏及时联系匹配的人员去服务用户。
项目归档:将运算项目进行归档,当有相同请求时,通过直接查询项目归档处理,节省公司运算成本。
人力资源:确保人力资源方面(技工、养蜂人、和门卫)满足公司的可持续发展。
由以上,我们得出如下的架构图:
在 ServiceComb 上进行服务搭建
本文章主要讲述搭建技工部门的服务。
构建黄金分割运算服务
技工的主要工作是提供黄金分割数列计算服务,当用户需要知道第n个黄金分割数时,技工以最快的速度计算出数值并返回给用户,简化为如下数学方程:
在暂不考虑性能的情况下,实现黄金分割数列的计算:
提供技工服务端点
现在我们需要将上面的服务提供给用户,首先我们定义端点接口:
引入 ServiceComb 依赖:
同时暴露黄金分割运算服务的Restful和RPC端点:
以上,用 @RestSchema
和 @RpcSchema
注释两个端点后,ServiceComb
会自动生成对应的服务端点契约,根据如下 microsevice.yaml
配置端点端口,并将契约和服务一起注册到Service Center:
最后一步,我们需要提供技工服务的应用启动入口:
这里使用了@EnableServiceComb
注释启用 ServiceComb。
至此,技工服务的相关代码已经编写完成,下一步将介绍养蜂人如何消费技工服务,完整例子请点击下方的阅读原文访问官网博客。
通过阅读全文,您可以了解到如何使用微服务框架 ServiceComb 快速开发微服务,以及服务间互通、契约认证。
或请关注6月19日下午在北京国家会议中心举行的 ServiceComb WorkShop, 届时将以该示例与小伙伴们一起互动编程哦。
时间: June 19, 2017 — 1:30-5:30 pm
地点: 北京国家会议中心 room 303A