微服务架构下组件管理规范

  软件开发行业,经过一个或多个项目之后,企业都会沉淀出许多非常优秀的组件,这些优秀的组件能够为今后其他的项目提供便利的基础。总体而言,企业的沉淀的组件大致可分为三类:程序类组件、数据类组件、配置类组件。

程序类组件:程序类组件是最常见的组件,包括常见的java、go、python等代码,经过构建之后,用于可独立部署或使用的介质,如:日志工具类、日期工具类、字符串工具类、邮件发送工具类等;

数据类组件:在应用的变更过程中,一般都会涉及到数据库的变更,包括数据库的备份与恢复,数据表的备份与恢复,以及按照要求进行数据变更,如:表空间检查与清理,数据的备份与恢复等;

配置类组件:传统的应用配置信息主要以xml、config或properties文件为主,且应用和配置打包成一个部署包,而应用与配置聚合在一起,必然导致不同的环境,需要重新构建打包,然微服务体系下,应用与配置分离,因此专门存储配置的程序,称为配置类组件,如:apollo、zookeeper等。

1. 组件定义规范

组件的分类主要有程序类组件、数据类组件和配置类组件,因此,组件的定义也应该从程序类组件规范、数据类组件规范、配置类组件规范。

(一)     程序类组件规范

1)   命名规范:公司域名.工程名.版本.介质后缀,举例说明:com.primeton.common-util.1.1.3.jar,其中

a)   com.primeton为公司域名;

b)   common-util为工程名;

c)   1.1.3为版本号;

d)   jar为介质后缀。

2)   包名规范:公司域名.模块名称,举例说明:com.primeton.common.util;

3)   类名规范,例如:StringUtil,DateUtil等;

(二)     数据类组件规范

1)   开发规范:数据类组件开发过程中,需要将数据类相关的参数进行抽象,以便于其他项目或产品进行复用,例如:实例名、用户名密码、端口等。

2)   命名规范:数据类组件一般为脚本组件,因此在脚本命名方面,需要能够体现出场景含义,如:checkTablespace,backupDB等;

(三)     配置类组件规范

配置类组件一般是将程序中的配置文件进行提取并存储,如:Apollo、Spring Config等。

2. 组件使用规范

组件创建后,如何在实际应用中使用,其实需要遵循一定的使用原则或使用规范,具体如下:

(一)     在应用使用过程中,仅添加本应用需要的版本,禁止添加同一组件多个版本;

(二)     在应用使用过程中,原则上只能添加Release版本,不建议添加Snapshop版本;

(三)     在应用使用过程中,需要注意组件支持的环境版本,如:JDK8、DB2 9.7等;

(四)     在应用使用过程中,需要注意是否有必要使用某组件,如:进行数据库迁移时,是否有必要使用配置类组件。

原文地址:https://www.cnblogs.com/pengteng/p/10885683.html