Skip to main content

Choerodon猪齿鱼实践之应用服务共享

· 8 分钟阅读

Choerodon平台中的开发和部署都是围绕应用服务来进行的,由此可见应用服务在DevOps实践过程中的重要性。本文旨在为大家介绍Choerodon v0.19及以上版本中的应用服务共享功能。

共享应用服务功能的背景

在详细介绍Choerodon平台中“共享应用服务”功能的使用之前,我们需要知道使用这个功能的原因是什么,以及这个功能可以解决什么问题。在说起Choerodon平台中的应用服务时,我们就不得不提微服务。正是因为微服务的出现,之前的单体应用架构带来的问题才得以解决。而下图也更为直观地指出了单体应用架构与微服务架构的区别。

通过上图,我们不难发现微服务架构中的应用服务会被分解为更小、完全独立的组件,这使得它们拥有更高的敏捷性、可伸缩性和可用性。换言之,微服务架构的基本思想就是:围绕业务领域组件来创建应用服务,让应用服务可以独立地开发、管理和交付。

通过微服务实现了组件化服务的开发和交付后,这些组件化服务按照项目需求组合起来,稍作修改,便是一个可用的产品。因此,尽管项目是暂时性的,但项目团队的交付物却能以组件的形式共享至其他项目,以此来避免重复造轮子的情况。而怎样将已有的应用服务快速地导入或部署到组织下其他项目呢?针对这个问题,共享应用服务的功能应运而生。

怎样使用共享应用服务功能?

当组织下其他项目需要用到本项目下某个应用服务时,项目所有者可以为此应用服务设置共享规则,以此来将对应版本的应用服务共享至其他项目。

以上便是Choerodon平台中共享应用服务功能的大致流程,下面我们就按照这个流程进行展开,带大家了解Choerodon中应用服务的共享功能。

共享应用服务

  • 添加共享规则

首先,选中一个目标应用服务,进入详情界面,选中“共享设置”,点击顶部的“添加共享规则”;在添加共享规则时,项目所有者可以选择将该应用服务的某一类型的所有版本全部共享出去,或者选择一个特定的应用服务版本共享至目标项目。最后选择“共享范围”,那么一条共享规则就这样添加成功了。

  • 目前平台中预置可选的版本类型为以下5种,分别是:master、release、feature、bugfix和hotfix。
  • 此处的版本类型是按照版本名中对应的分支类型来命名的;但可根据需求,在此填写一个自定义的版本类型。
  • 若您想将该类型的所有服务版本共享出去,仅填写版本类型即可,不用再选择特定版本。

共享规则添加成功并生效之后,共享范围之内的项目便能获取到该服务对应版本的代码库与镜像,用于之后的二次开发或直接部署。

  • 管理共享规则

共享规则添加成功之后,可以在之后对其进行灵活地修改或是直接删除;此处支持修改共享规则中的共享版本与共享范围;

共享规则更改后,平台将按照新的共享规则执行,但不会影响其他项目下已部署的实例。

导入共享应用服务

应用服务的接收方,若发现已存在的应用服务并不能完全满足自己的项目需求。便可以选择“导入共享应用服务”,在已有代码库的基础上进行二次开发。

部署共享应用服务

若共享的应用服务已经能够满足项目需求,此时部署人员便可直接在手动部署界面,将该服务对应的版本部署至本项目对应的环境。

总结

共享应用服务的功能支持各个项目团队更方便地围绕业务来进行应用服务的组织,从而使得微服务弹性伸缩的特性可以得到充分地发挥,避免出现重复造轮子的情况。此外,以应用服务为中心进行开发和部署是Choerodon平台实践DevOps的重要步骤,所以应用服务相关的功能与体验也是我们一直都在关注的。

关于猪齿鱼

Choerodon 猪齿鱼作为全场景效能平台,是基于Kubernetes,Istio,knative,Gitlab,Spring Cloud来实现本地和云端环境的集成,实现企业多云/混合云应用环境的一致性。平台通过提供精益敏捷、持续交付、容器环境、微服务、DevOps等能力来帮助组织团队来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。

大家也可以通过以下社区途径了解猪齿鱼的最新动态、产品特性,以及参与社区贡献: