# rfid-cloud-framework **Repository Path**: yalikwang/rfid-cloud-framework ## Basic Information - **Project Name**: rfid-cloud-framework - **Description**: No description available - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-05 - **Last Updated**: 2025-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

阿法迪云平台

# 架构简述 阿法迪云平台采用国内流行的开源技术,以微服务、容器化、devops为云原生基座,建设数据中台、集中中台和基础服务中台,助力网借云、elib5.0、文博云等业务产 品发展,形成一横多纵的技术格局。

![一横多纵技术格局.png](doc/images/一横多纵技术格局.png)
本系统主要聚焦在微服务架构上,在技术方案选择上,平台以Spring为框架核心,集成Redis、nacos、Rocketmq、gateway、Elasticsearch等主流中间件和框架, 构建起微服务的主体架构。

![微服务组件架构视图](doc/images/微服务组件架构视图.png)
针对产品的多租户诉求,系统在框架层实现流量识别、租户透传和资源隔离等高级特性,业务模块无须关注多租户技术实现。 * 流量识别:识别客户端的请求属于哪个租户,系统采用的是基于域名的识别。租户合法域名需要在租户管理中心定义并同步至配置中心。
* 租户透传:租户标识在不同服务节点、中间件之间进行传递,主要包含内部rpc调用、消息队列、外部系统对接。内部rpc使用的是feign框架,所以将租户标识存放在http header中, 消息数据的租户标识放在消息头中,外部系统目前暂定为http header携带。
* 资源隔离:租户之间计算资源共享,此处主要指数据隔离,涉及到缓存隔离、ES文档隔离、消息隔离、数据库数据隔离几个方面。其中除了数据库,其余全部采用逻辑隔离。 数据库数据隔离采用的是基于Schema的隔离模式,支持共享数据库、独立数据库、异构数据库等多种隔离模式,满足公有云混合云等场景。 # quickStart ## 云平台框架开发环境搭建 环境要求 java8
git clone http://58.33.104.58:30406/rfid-cloud/rfid-cloud-framework.git
IDEA 打开该工程
(忽略单元测试)执行maven install
# elib5.0开发环境搭建 环境要求 java8
git clone http://58.33.104.58:30406/rfid-cloud/rfid-cloud-elib5.git
IDEA打开该工程
# 启动网关、system、infra服务 在云平台工程下,打开网关子模块(rfid-gateway),修改bootstrap.yaml中spring.profiles.active为local,
打开bootstrap-local.yaml,修改spring.cloud.nacos.discovery.group为一个唯一值,比如YalikWang、geKun等,
用于和其他环境作区分, 解决不同网络环境下的服务调用不通问题。
system、infra模块修改如上。
启动GatewayServerApplication、InfraServerApplication、SystemServerApplication
# 启动elib5.0后台应用 在elib5.0工程下,打开rfid-cloud-elib5-starter
修改bootstrap-dev.yaml中spring.profiles.active为local
打开bootstrap-local.yaml,修改spring.cloud.nacos.discovery.group为一个唯一值,比如YalikWang、geKun等, 用于和其他环境作区分,解决不同网络环境下的服务调用不通问题。
启动Elib5ApplicationStarter
# 其他 如果不想在本机启动多个服务,可以在公司内网部署好公共服务(system、infra、gateway),
将spring.cloud.nacos.discovery.group设置为一个唯一值,比如wuhan或者shanghai,
用于 和其他网络环境区分。 内网公共环境调试的时候,可以通过tag值来做优先路由,这里需要前端配合。
# 全套环境搭建 ## 配置中心 nacos中新建rfid-cloud命名空间,需要上传到nacos中的配置文件: * application-common.yaml(请一定注意dataId一定要有文件后缀) * env-common.yaml(请一定注意dataId一定要有文件后缀) * rfid-module-system/rfid-module-system-biz/src/main/resources/rfid-cloud-system.yaml * rfid-module-infra/rfid-module-infra-biz/src/main/resources/rfid-cloud-infra.yaml * rfid-gateway/src/main/resources/rfid-cloud-gateway.yaml ## 租户设置 在租户管理中心中创建租户rfid,进行租户应用授权后,配置租户应用数据源信息,点击租户上线。具体参考租户管理中心说明文档。 ## 数据库 准备postgresql数据库,版本暂无要求。创建数据库rfid,在数据库下创建模式rfid-cloud-system,在该模式下执行sql/postgresql/rfid-cloud.sql。 ## 启动应用 依次启动如下应用 * SystemServerApplication * InfraServerApplication * GatewayServerApplication