袁芳的学习笔记(3)基于Predix的微服务

作者:袁芳北京华瑞特信息技术有限公司

如果您还没有Predix试用帐号,请访问https://supportcentral.ge.com/esurvey/GE_survey/takeSurvey.html?form_id=18446744073709715720申请。请务必准确提供您的信息,我们会以邮件方式通知您注册结果。


GE Predix支持微服务,本次通过微服务示例工程,了解如何构建、部署、扩展微服务。官网有两个github工程,一个使用Apache CXF执行JAX-RS 2.0标准Java申明@GET,@PUT, @POST, @DELETE, 等,另一个使用Spring RestTemplate,他仍然使用原生的Spring声明,例如@RequestMapping(method = RequestMethod.DELETE)

两个工程都利用了Spring的其他特性,包括在REST实现中运用了Spring安全过滤器,在之后的教程中,将会展示安全和授权的有用之处。


上图为微服务模板,通过三步即可获取一个Cloud Foundry的微服务:

1Git clone <project>

通过git clone命令从github中下载工程源码

2mvn clean package

通过该maven命令将源码进行打包

3cf push

通过Cloud Foundry的该命令将完成的打包推送到Predix云端,以此实现云端发布。

通过上面的微服务模板,可以对其进行扩展以创建个性化的微服务云端应用。

步骤:

(1) 下载工程源码

1)确保Maven库中的settings.xml文件信息正确

2)使用git下载工程源码

git clone  https://github.com/PredixDev/predix-microservice-cf-jsr.git 

cd predix-microservice-cf-jsr

或者

git clone  https://github.com/PredixDev/predix-microservice-cf-spring.git

cd predix-microservice-cf-spring

3)通过Maven构建并打包

mvn clean package

注意:“mvn clean install”可能会运行整合对微服务的测试,而这有可能并不启动这个测试。

2)推送微服务到云端

CloudFoundry的推送命令从manifest.yml文件中获取一些属性信息用于推送微服务,“manifest.yml”文件是CloudFoundry的特性文件,不是Predix新增的概念。详细的“manifest.yml”文件信息参考:

https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html

简言之,“manifest.yml”告诉“cf push”对应用要做什么,包括:要创建多少个实例,需要为所需的应用开辟多少内存。也可以说,“manifest.yml”帮忙用户自动化云部署,尤其是一次性推送多应用的场景下。

编辑“manifest.yml”文件,将“name”更换为自定义应用名称,并且该应用名称必须是唯一的(在Predix云环境中),通过管理员权限打开CMD.exe,输入cf push命令:

$ cf push<your-name>-predix-microservice-cf-jsr

系统反馈该微服务的URL,将其添加https://头部,粘贴到浏览器即可。

3)访问云端应用



4)通过Eclipse打开工程

通过Eclipse或者EclipseSTS修改REST微服务或者将其在本地运行。

1)选择File/Import菜单

2)选择Maven/ExistingMaven Projects并点击Next

3)选择predix-microservice-cf-jsr路径并点击Finish

5REST API

接口类:

https://github.com/PredixDev/predix-microservice-cf-jsr/blob/master/src/main/java/com/ge/predix/solsvc/boot/service/cxf/DynamicService.java

接口实现类:

https://github.com/PredixDev/predix-microservice-cf-jsr/blob/master/src/main/java/com/ge/predix/solsvc/boot/service/cxf/DynamicServiceImpl.java

DefaultService注册到 spring文件:

https://github.com/PredixDev/predix-microservice-cf-jsr/blob/master/src/main/resources/META-INF/spring/predix-microservice-cf-jsr-cxf-context.xml




(6)本地测试

1)使用Eclipse发布应用,通过http://localhost:9092访问。

2)右键点击predix-microservice-cf

3)选择Run As / JavaApplication

4)如果是原型,选择Application.java点击OK

或者:

5)在Eclise STS右键点击predix-microservice-cf工程选择Run As / SpringBoot Application

 

(7)浏览结果



1)通过浏览器能够看到"Greetingsfrom Predix Spring Boot CXF!"

2)点击“API explorer”查看Swagge文档,微服务能够通过/api url查看自定义文档

3)通过/health url查看微服务的Health

4)在/docs url查看docs,使用Github,提供动态的index.html其能够下载README.md

5)查看Java Docs

6)确保停止在Eclipse的微服务以便为后续教程释放端口。

参考资料:

https://predix-io.run.aws-jp01-pr.ice.predix.io/resources/tutorials/tutorial-details.html?tutorial_id=1523

在使用中您有任何问题,请访问我们的论坛http://bbs.csdn.net/forums/GEPredix

GE数字集团的技术专家们会在线回答您的问题。

也请访问我们在CSDN的Predix专区http://predix.csdn.net 了解更多Predix的内容和相关活动。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值