微服务架构下组件管理规范
Posted pengteng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务架构下组件管理规范相关的知识,希望对你有一定的参考价值。
软件开发行业,经过一个或多个项目之后,企业都会沉淀出许多非常优秀的组件,这些优秀的组件能够为今后其他的项目提供便利的基础。总体而言,企业的沉淀的组件大致可分为三类:程序类组件、数据类组件、配置类组件。
程序类组件:程序类组件是最常见的组件,包括常见的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等;
(四) 在应用使用过程中,需要注意是否有必要使用某组件,如:进行数据库迁移时,是否有必要使用配置类组件。
以上是关于微服务架构下组件管理规范的主要内容,如果未能解决你的问题,请参考以下文章
从架构到组件,深挖istio如何连接管理和保护微服务2.0?