更新时间:2024-04-28 GMT+08:00
分享

搭建云时通中台系统运行环境

搭建RDSForMysql环境

  • 服务列表里搜索RDS,进入RDS控制台
    图1 进入RDS控制台
  • 选择区域、选配规格及vpc网络
    图2 选择1
    图3 选择2
  • 创建数据库用户及schema
    图4 创建数据库
    CREATE USER `yst_dev`@`%` IDENTIFIED WITH mysql_native_password BY password
    CREATE DATABASE IF NOT EXISTS yst_system DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    CREATE DATABASE IF NOT EXISTS yst_auth DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    CREATE DATABASE IF NOT EXISTS yst_inv DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    CREATE DATABASE IF NOT EXISTS yst_pur DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    CREATE DATABASE IF NOT EXISTS yst_sale DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    CREATE DATABASE IF NOT EXISTS yst_fin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    GRANT ALL PRIVILEGES ON yst_system.* TO yst_dev@'%';
    GRANT ALL PRIVILEGES ON yst_auth.* TO yst_dev@'%';
    GRANT ALL PRIVILEGES ON yst_inv.* TO yst_dev @'%';
    GRANT ALL PRIVILEGES ON yst_pur.* TO yst_dev @'%';
    GRANT ALL PRIVILEGES ON yst_sale.* TO yst_dev @'%';
    GRANT ALL PRIVILEGES ON yst_fin.* TO yst_dev @'%';
    FLUSH PRIVILEGES;

搭建Redis环境

服务列表里搜索Redis,进入分布式缓存控制台
图5 应用中间件

选择区域、选配规格及vpc网络

图6 选择1
图7 选择2

搭建RocketMQ环境

服务列表里搜索rocketmq,进入分布式消息服务控制台
图8 进入控制台

选择区域、选配规格及vpc网络

图9 选择1
图10 选择2

搭建CCE集群环境

  • 服务列表里搜索cce,进入分布式消息服务控制台
    图11 进入控制台
  • 单击购买cce集群
    图12 购买
  • 托管到云梯-DevOps平台

    云梯-DevOps平台创建集群,copy激活脚本

    图13 托管1
    图14 托管2

搭建Nacos环境

  • 登录RDS For Mysql创建nacos用户及数据库
    图15 登录
    CREATE USER `nacos`@`%` IDENTIFIED WITH mysql_native_password BY password;
    CREATE DATABASE IF NOT EXISTS nacos DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    GRANT ALL PRIVILEGES ON nacos.* TO nacos@'%';
    FLUSH PRIVILEGES;
  • 选中nacos数据库,执行nacos数据初始化
    图16 数据初始化
    CREATE TABLE `config_info` (
    `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
    `data_id` varchar(255) NOT NULL COMMENT 'data_id',
    `group_id` varchar(255) DEFAULT NULL,
    `content` longtext NOT NULL COMMENT 'content',
    `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
    `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `src_user` text COMMENT 'source user',
    `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
    `app_name` varchar(128) DEFAULT NULL,
    `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
    `c_desc` varchar(256) DEFAULT NULL,
    `c_use` varchar(64) DEFAULT NULL,
    `effect` varchar(64) DEFAULT NULL,
    `type` varchar(64) DEFAULT NULL,
    `c_schema` text,
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = config_info_aggr   */
    /******************************************/
    CREATE TABLE `config_info_aggr` (
    `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
    `data_id` varchar(255) NOT NULL COMMENT 'data_id',
    `group_id` varchar(255) NOT NULL COMMENT 'group_id',
    `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
    `content` longtext NOT NULL COMMENT '内容',
    `gmt_modified` datetime NOT NULL COMMENT '修改时间',
    `app_name` varchar(128) DEFAULT NULL,
    `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = config_info_beta   */
    /******************************************/
    CREATE TABLE `config_info_beta` (
    `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
    `data_id` varchar(255) NOT NULL COMMENT 'data_id',
    `group_id` varchar(128) NOT NULL COMMENT 'group_id',
    `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
    `content` longtext NOT NULL COMMENT 'content',
    `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
    `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
    `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `src_user` text COMMENT 'source user',
    `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
    `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = config_info_tag   */
    /******************************************/
    CREATE TABLE `config_info_tag` (
    `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
    `data_id` varchar(255) NOT NULL COMMENT 'data_id',
    `group_id` varchar(128) NOT NULL COMMENT 'group_id',
    `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
    `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
    `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
    `content` longtext NOT NULL COMMENT 'content',
    `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
    `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `src_user` text COMMENT 'source user',
    `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = config_tags_relation   */
    /******************************************/
    CREATE TABLE `config_tags_relation` (
    `id` bigint(20) NOT NULL COMMENT 'id',
    `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
    `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
    `data_id` varchar(255) NOT NULL COMMENT 'data_id',
    `group_id` varchar(128) NOT NULL COMMENT 'group_id',
    `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
    `nid` bigint(20) NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (`nid`),
    UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
    KEY `idx_tenant_id` (`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = group_capacity   */
    /******************************************/
    CREATE TABLE `group_capacity` (
    `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
    `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
    `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
    `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
    `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
    `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
    `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
    `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_group_id` (`group_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = his_config_info   */
    /******************************************/
    CREATE TABLE `his_config_info` (
    `id` bigint(64) unsigned NOT NULL,
    `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
    `data_id` varchar(255) NOT NULL,
    `group_id` varchar(128) NOT NULL,
    `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
    `content` longtext NOT NULL,
    `md5` varchar(32) DEFAULT NULL,
    `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `src_user` text,
    `src_ip` varchar(50) DEFAULT NULL,
    `op_type` char(10) DEFAULT NULL,
    `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
    PRIMARY KEY (`nid`),
    KEY `idx_gmt_create` (`gmt_create`),
    KEY `idx_gmt_modified` (`gmt_modified`),
    KEY `idx_did` (`data_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
    /******************************************/
    /*   数据库全名 = nacos_config   */
    /*   表名称 = tenant_capacity   */
    /******************************************/
    CREATE TABLE `tenant_capacity` (
    `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
    `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
    `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
    `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
    `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
    `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
    `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
    `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_tenant_id` (`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';
    CREATE TABLE `tenant_info` (
    `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
    `kp` varchar(128) NOT NULL COMMENT 'kp',
    `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
    `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
    `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
    `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
    `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
    `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
    KEY `idx_tenant_id` (`tenant_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
    CREATE TABLE `users` (
    `username` varchar(50) NOT NULL PRIMARY KEY,
    `password` varchar(500) NOT NULL,
    `enabled` boolean NOT NULL
    );
    CREATE TABLE `roles` (
    `username` varchar(50) NOT NULL,
    `role` varchar(50) NOT NULL,
    UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
    );
    CREATE TABLE `permissions` (
    `role` varchar(50) NOT NULL,
    `resource` varchar(255) NOT NULL,
    `action` varchar(8) NOT NULL,
    UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
    );
    INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
    INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
  • 创建nacos服务

    进入cce集群,单击工作负载,选择命名空间,单击“YAML创建”

    图17 创建nacos服务1

    将内容粘贴到编辑面板里:

    apiVersion: v1
    kind: Service
    metadata:
    name: nacos-headless
    labels:
    app: nacos-headless
    spec:
    type: ClusterIP
    clusterIP: None
    ports:
    - port: 8848
    name: server
    targetPort: 8848
    - port: 9848
    name: client-rpc
    targetPort: 9848
    - port: 9849
    name: raft-rpc
    targetPort: 9849
    ## 兼容1.4.x版本的选举端口
    - port: 7848
    name: old-raft-rpc
    targetPort: 7848
    selector:
    app: nacos
    ---
    apiVersion: v1
    kind: ConfigMap
    metadata:
    name: nacos-cm
    data:
    mysql.host: "192.168.0.114"
    mysql.db.name: "nacos_devtest"
    mysql.port: "3306"
    mysql.user: "nacos"
    mysql.password: "nacos"
    ---
    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
    name: nacos
    spec:
    serviceName: nacos-headless
    replicas: 1
    template:
    metadata:
    labels:
    app: nacos
    annotations:
    pod.alpha.kubernetes.io/initialized: "true"
    spec:
    affinity:
    podAntiAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
    matchExpressions:
    - key: "app"
    operator: In
    values:
    - nacos
    topologyKey: "kubernetes.io/hostname"
    containers:
    - name: k8snacos
    imagePullPolicy: Always
    image: nacos/nacos-server:latest
    resources:
    requests:
    memory: "2Gi"
    cpu: "500m"
    ports:
    - containerPort: 8848
    name: client
    - containerPort: 9848
    name: client-rpc
    - containerPort: 9849
    name: raft-rpc
    - containerPort: 7848
    name: old-raft-rpc
    env:
    - name: NACOS_REPLICAS
    value: "1"
    - name: MYSQL_SERVICE_HOST
    valueFrom:
    configMapKeyRef:
    name: nacos-cm
    key: mysql.host
    - name: MYSQL_SERVICE_DB_NAME
    valueFrom:
    configMapKeyRef:
    name: nacos-cm
    key: mysql.db.name
    - name: MYSQL_SERVICE_PORT
    valueFrom:
    configMapKeyRef:
    name: nacos-cm
    key: mysql.port
    - name: MYSQL_SERVICE_USER
    valueFrom:
    configMapKeyRef:
    name: nacos-cm
    key: mysql.user
    - name: MYSQL_SERVICE_PASSWORD
    valueFrom:
    configMapKeyRef:
    name: nacos-cm
    key: mysql.password
    - name: MODE
    value: "cluster"
    - name: NACOS_SERVER_PORT
    value: "8848"
    - name: PREFER_HOST_MODE
    value: "hostname"
    - name: MODE
    value: "standalone"
    - name: NACOS_SERVERS
    value: "nacos-0.nacos-headless.a-b-test.svc.cluster.local:8848"
    selector:
    matchLabels:
    app: nacos
    图18 创建nacos服务1

    创建nacos-service

    图19 创建nacos-service
  • 上传配置文件“nacos_config_yst.zip”
  • 修改MQ、Redis、Mysq相关配置
    图20 修改1
    图21 修改2

部署云时通中台系统-微服务应用

表1 微服务应用列表

序号

名称/应用

应用描述

集群数量

内存limit/G

1

yst-workflow

工作流

2

5

2

yst-sale

销售中心

2

5

3

yst-order

订单中心

2

5

4

yst-inv

库存中心

2

5

5

yst-pur

采购中心

2

5

6

yst-support-domain

支撑域中心

2

5

7

yst-tms

物流中心

2

5

8

yst-fin

财务结算中心

2

5

9

yst-base-gateway

网关

2

5

10

yst-auth

鉴权中心

2

5

11

yst-system

系统中心

2

5

12

coordinator- message

消息中心

1

3

13

coordinator-fsm

附件中心

1

3

14

coordinator-job

调度中心

1

3

15

yst-web

云时通总前端

1

1

16

yst-web-b2b

2b2中心前端

1

1

17

yst-web-oms

oms中心前端

1

1

18

yst-web-fin

结算中心前端

1

1

19

yst-web-supply

供应链前端

1

1

20

yst-web-support

支撑域前端

1

1

21

workflow-web

工作流前端

1

1

  • 部署前端服务(eg: yst-system-web)
    图22 部署前端服务
  • 部署后端服务(eg: yst-system)
    选择应用服务、选择版本、并修改nacos连接信息
    图23 部署后端服务1
    图24 部署后端服务2
  • 查看应用服务运行情况,实例事件、Pod详情 变为绿色后,服务启动完成
    图25 查看
  • 其他前端、后端应用部署方式一致

分享:

    相关文档

    相关产品