在 ServiceComb 上快速进行微服务应用开发

       本文章将通过大家耳熟能详的例子,讲述如何在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


业务应用例子背景


       假设我们成立了一家科研公司,处理复杂的数学运算,以及尖端生物科技研究,并为用户提供环境分割数列计算和蜜蜂繁殖规律(计算每只雄蜂/雌蜂的祖先数量)。以下对业务场景进行分析:


  1. 门卫:聘用了门卫认证用户,避免不法分子混入,确保对用户消费的运算能力收费的安全性。

  2. 技工:雇佣相应技工,提供黄金分割数量运算能力。

  3. 养蜂人:公司建立自己的蜂场,雇佣相应养蜂人对蜜蜂繁殖规律进行管理研究。

  4. 告示栏:建立告示栏机制,让闲暇的人员发布自己的联系方式,公司可通过该告示栏及时联系匹配的人员去服务用户。

  5. 项目归档:将运算项目进行归档,当有相同请求时,通过直接查询项目归档处理,节省公司运算成本。

  6. 人力资源:确保人力资源方面(技工、养蜂人、和门卫)满足公司的可持续发展。


    由以上,我们得出如下的架构图:

0?wx_fmt=png


在 ServiceComb 上进行服务搭建

        

        本文章主要讲述搭建技工部门的服务。

构建黄金分割运算服务

        技工的主要工作是提供黄金分割数列计算服务,当用户需要知道第n个黄金分割数时,技工以最快的速度计算出数值并返回给用户,简化为如下数学方程:

0?wx_fmt=png

        在暂不考虑性能的情况下,实现黄金分割数列的计算:

0?wx_fmt=png


提供技工服务端点

        现在我们需要将上面的服务提供给用户,首先我们定义端点接口:

0?wx_fmt=png

        引入  ServiceComb  依赖:

0?wx_fmt=png

        同时暴露黄金分割运算服务的RestfulRPC端点:

0?wx_fmt=png

0?wx_fmt=png

        以上,用 @RestSchema@RpcSchema 注释两个端点后,ServiceComb 会自动生成对应的服务端点契约,根据如下  microsevice.yaml 配置端点端口,并将契约和服务一起注册到Service Center:

        

0?wx_fmt=png

        最后一步,我们需要提供技工服务的应用启动入口:

0?wx_fmt=png

        这里使用了@EnableServiceComb 注释启用 ServiceComb。

        


        

        至此,技工服务的相关代码已经编写完成,下一步将介绍养蜂人如何消费技工服务,完整例子请点击下方的阅读原文访问官网博客。

        

        通过阅读全文,您可以了解到如何使用微服务框架 ServiceComb 快速开发微服务,以及服务间互通、契约认证。

        

        或请关注6月19日下午在北京国家会议中心举行的 ServiceComb WorkShop, 届时将以该示例与小伙伴们一起互动编程哦。

        时间: June 19, 2017 — 1:30-5:30 pm

        地点: 北京国家会议中心 room 303A

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值