暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OCCS上玩转Spring Cloud微服务

420

OCCS简介

OCCS全称为Oracle Container Cloud Service,为用户提供一个功能完备的图形化的Docker容器云服务,其主要功能点有:

  • Docker引擎 支持Cloud Native程序的部署与运行,并提供UI设置服务参数以及直接可以通过YAML方式定义服务发布参数

  • 一键部署 提供应用堆栈例子,并提供图形化服务编排界面

  • 注册集成 可以连接到公有云如Docker Hub或者自己搭建的私有Registry

  • 建立持续集成/部署流水线 可以通过Web Hooks与其他系统集成,同时也开放REST API供其他系统直接调用

  • 服务发现–内置提供多容器、跨主机部署,并可以通过图形化的方式进行操作和管控

Spring Cloud示例工程简介

工程简要说明如下:

Config

配置管理服务器模块

Auth-service

Oauth服务模块

Gateway

路由服务模块

Registry

服务发现模块

Monitoring

服务监控模块(HystrixDashboard)

Zipkin-server

Zipkin监控服务模块

Account-service

业务服务模块

Cottonquotas-service

Declaration-server

Empty-service

Goodsinfo-service

Importgoodsfreetax-service

License-service

Manifestinfo-service

Notification-service

通知模块

工程为一个比较典型的Spring Cloud程序架构,包括配置管理,服务发现,智能路由,熔断,OAuth服务器,以及zipkin服务器组件

OCCS部署工程介绍

 Service介绍

OCCS中Service是单独定义的一个某个服务,默认自带了redis,tomcat,mysql,postgre SQL等多种服务模板,可以直接通过docker原生命令docker run直接启动相关服务。

但是服务运行时,需要设置对外开放的接口,网络,环境变量等信息,通过docker run写命令行的方式比较复杂,并且容易出错,OCCS提供了一种更为方便的设置方式,通过图形化的方式可以直接将运行参数进行设置,避免了在写命令时因为疏忽敲错,而无法启动服务的情况。点击详细设置,如下所示:

可以从图中看到,我们只需要通过图形化的方式,将参数一一添加即可,这样避免了通过手动写命令行的方式出现的人为错误,同时也避免了因为编写docker compose YAML文件时缩进问题导致的格式非法,而无法正常启动服务,大大简化了运维人员的工作难度门槛。

举例个例子

我们定义一个服务名称为auth-service,然后需要使用cncustompoc-auth-service的最新的镜像,并且对外暴露的端口为5000,则我们在设置界面中image部分写入我们需要加载的镜像cncustompoc-auth-service:latest.,然后在available options选中Ports复选框,然后点击ADD,设置上5000即可。

 

Stack介绍

系统服务启动一般都有一定编排顺序,比如启动workpress服务,但是前提需要先启动相关对应的数据库服务模块。在这种情况下OCCS的servcie无法满足这种编排要求,这时就需要使用Stack来实现复杂的服务编排功能。

OCCS的服务编排可以通过图形化的方式进行编排,可以从available services中选中相应的服务放在服务编排画板中,并且直接通过连线的方式建立之间的关联。但是对于一些复杂的编排,比如需要设置环境变量,并且之间模块特别多,通过画图的方式比较繁琐的时候,可以直接点击高级设置进入“Advanced(YAML) Stack Editor”的方式直接写YAML的方式对服务进行服务编排。

部署示例工程步骤

部署时首先需要选择我们部署的工作主机

这里我们选择运行环境部署在default上,正式使用时也可以在创建云服务的时候根据我们的需要分出开发,测试,预上线系统以及生产系统,并按照部署要求将服务程序部署至不同的云环境中,OCCS提供将相关服务程序在不同工作环境一键迁移的功能。

对于Spring Cloud微服务工程,通常需要很多服务一起协同工作,并且对于服务要有一定编排顺序,比如先要启动配置服务器开放服务供其他模块取得运行配置,然后要有服务发现模块启动供其他业务服务启动时注册,同时在业务服务运行前需要启动Auth服务器,为服务模块之间安全通讯进行安全认证的功能。这里整个工程的服务编排设定会比较复杂,并且需要设置各种不同的上下文变量以及环境变量,所以推荐先用图形的方式画出关联,然后再点击高级编辑直接使用定义YAML的方式对细节进行修改,这样一方面可以在尽量避免手工错误的情况下,又能满足复杂服务编排的需要。

点击高级设置

点击done,然后点击deploy后,系统自动开始部署运行

服务的详细信息

按需变更服务数量

对于其中一些业务模块可能会在业务运行时压力比较大,这里可以在OCCS中直接点击Scaling按钮,修改对应服务模块的运行数量,如此处修改license模块的数量

点击确定后,license服务模块的数量自动变为2个。

一个基于Spring Cloud的应用部署工作基本就是这些,我们可以看到大部分的配置工作以及维护工作都是图形化的,但是同时也支持脚本编码的方式执行,对于开发人员和运维人员门槛非常低,非常容易实现云软件的快速部署。后续还会有一些更多高阶的功能,以及开发的一些应用,留到后面和大家一起分享。

作者简介

巨晓兵,甲骨文中国区PaaS专家团队高级顾问,拥有 10 年以上 IT 相关工作经验。目前主要负责甲骨文云平台产品在解决方案中的设计和实施。在加入甲骨文公司前,主要供职于 亚信,Gemalto,负责产品研发和项目实施等工作。具有多年系统架构设计经验,熟悉架构设计的理念与设计方法,且具有多年IOT系统工作经验。

了解更多,敬请关注甲骨文开发者社区......






文章转载自甲骨文开发者社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论