📌 术语定义
为了低成本管理大规模的系统,Shoulder
将应用进行数字化规范,相关定义如下:
- 应用(application 能独立完成某个基础功能的软件)
-
- 基础设施应用
-
如数据库、消息中间件、注册中心、搜索引擎等提供基础能力或技术的中间件。
- 基础应用(base application)
-
提供系统设计的基本的能力,如认证、授权、用户管理等。通常更注重技术设计,一系列的基础应用紧密相连提供了一个可供上层应用复用的平台,基础应用决定了一个系统的基础架构。
- 业务应用
-
功能贴近用户 / 某一特定场景 / 业务,针对性更强。通常依赖于基础应用,设计上更注重交互。
- 应用管理标识
-
- 应用标识(appId)
-
不论哪类应用,都应有一个唯一标识,便于数字化管理,举例:用户中心应用的标识可以为
user
。 - 服务组(groupId/serviceId)
-
一组或单个可以独立运行并可以统一为其他软件提供信息的进程,通常在服务器器侧部署的一个应用程序(可以为其他软件提供能力和功能的
应用
),举例:用户中心应用中包含有 认证、授权、登录、用户信息管理几块服务,且每个模块可以独立部署,那其中认证模块就是用户中心的一个服务组。 - 应用实例(instanceId)
-
一个服务组合可以集群部署到多台机器,单个机器的服务进程就称为应用实例,假设有5个认证服务进程组成集群,那每个进程都可以设置一个编号,或者说实例标志
instanceId
,如0
、1
、2
…
🔗 规范约束
应用标识
-
每个应用必须包含应用标识
-
包含字母、数字、中划线,体现应用的能力、定位。通常采用应用英文名称缩写,如用户权限管理系统 upm
-
系统内唯一,生命周期内不可变化
-
支持翻译成中文和英文
强烈建议应用标识全局唯一,该标识作为基础设计,实践里可将该值可用于监控、模块解耦、编码简化等系统设计中。 |
扩展功能举例-HTTP调用:
|