海量数据处理商用短链接生成器平台 - 1

第一章 海量数据处理商用短链接生成器平台介绍

第1集 什么是短链接生成器

在这里插入图片描述

短链接生成器是一种工具,可以将较长的链接转换成较短的链接。这种工具在许多场景中都很有用,包括营销、社交媒体分享和数据报告等。以下是一些关于短链接生成器的优点和作用:

在这里插入图片描述
优点:

缩短链接长度:短链接生成器可以将长链接缩短,使其更易于在社交媒体、电子邮件、短信等渠道中分享和传播。
增强链接可读性:短链接通常更容易阅读和理解,特别是对于那些在移动设备上浏览内容的人来说。
增加点击率:由于短链接更简洁、更易于分享和传播,因此它们可能会增加点击率,从而提高营销效果和传播效果。
数据统计和分析:许多短链接生成器提供了数据统计和分析功能,让用户可以追踪短链接的点击情况,以便更好地了解用户行为和营销效果。
在这里插入图片描述
作用:

社交媒体分享:短链接生成器可以帮助用户在社交媒体上更方便地分享链接,从而提高内容的曝光度和传播效果。
电子邮件营销:在发送电子邮件时,使用短链接可以缩短邮件正文中的链接长度,使其更易于阅读和理解。
数据分析报告:在数据分析报告中,使用短链接可以将长URL缩短,使其更易于阅读和理解。
移动设备链接分享:对于那些在移动设备上使用的人来说,短链接可以使长链接更易于在短信、聊天应用和社交媒体等渠道中分享和传播。
总之,短链接生成器是一种非常有用的工具,可以帮助用户在各种场景中更方便地分享和传播链接,提高营销效果和数据分析效果。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.1如何实现短链接生成器

业务背景:为啥需要短链?

  • 公司电商产品推广、业务活动页、广告落地页 缺少实时【数据反馈和渠道效果分析】
  • 老项目业务推广【没人维护,无法做埋点】需要统计效果
  • 短链生成器在营销推广中有很大的商用价值,用别人的系统简单不需要自己运维,但是费钱。
  • 国内【反垄断后】微信、抖音、淘宝 流量互通,很多知识付费公司需要做 私域流量、社群运营
  • 可以对外做产品输出,实现商业化能力增加公司营收
  • 积累终端数据和人群数据,为公司未来产品人群做策略助力

在这里插入图片描述

  • 盈利点

    • 用户按量付费,根据流量包选择付费购买对应的套餐
    • 不同流量包权益不一样
      • 每天可以创建的短链次数不一样
      • 流量包使用时间限制、支持流量包叠加
      • 注册用户每天有一定免费使用次数,但是不能查看数据
  • 短链平台产品目标

    • 满足公司现有业务的营销推广需求、数据分析和拉新促活能力
    • 对外进行付费商用,支持企业私有化部署
    • 首年日活用户: 10万
    • 首年日新增短链数据:10万*50 = 500万
    • 年新增用户数:50万/1年
    • 年营收目标: 10万付费用户 * 客单价200元 = 2千万
    • 新增短链:50条/用户每日
    • 年私有化部署用户数:1K用户 * 3万/单价 = 3千万

根据 业务需求场景分析,微服务大致可以分为下面几个微服务模块。这里我们使用 Java 技术栈。

在这里插入图片描述
大数据统计模块:

在这里插入图片描述

第2集产品必备方法论

2.1 用户增长的数据分析模型AARRR

什么是AARRR用户增长模型

  • AARRR是Acquisition、Activation、Retention、Revenue、Referral 五个单词的缩写,对应用户生命周期中的5个重要环节。
  • 通俗来说就是一个产品从0~1到100的方法论
  • 指引产品运营在不同的产品运营阶段,思考哪些关键节点,更好各个节点的指标数据

AARRR详细解释

  • 获取:新用户首单免费/低价(瑞幸、拼多多)、厂商预装(手机)、买量投放
  • 激活:app推送、短信推送、产品价值激活
  • 留存:签到、活动短信推送、平台价值提供
  • 收益:平台广告、电商变现、付费会员、融资、软件服务
  • 传播:好友助力、分享抽奖、兄弟砍我一刀

2.2 SWOT态势分析法

什么是SWOT态势分析

  • 官方:用来确定企业自身的竞争优势、劣势、外部市场的机会和威胁,从而将公司的战略与公司内部资源、外部环境有机地结合起来的一种科学的分析方法
  • 4个单词的缩写 优势=strength、劣势=weakness、机会=opportunity、威胁=threats
    • 优势和弱势是内部环境的分析,机会和威胁是对于外部环境的分析
外部的机会正好是你的优势,赶紧利用起来外部的机会但是你的劣势,需要改进 自身具有优势但外部存在威胁,就需要时刻思考、保持警惕是威胁又是你的劣势,就规避并消除

在这里插入图片描述

案例应用场景

      • 技术解决方案分析(团队熟悉RabbitMQ,新来的组长熟悉RocketMQ,技术选型思考)
        • 优势:RabbitMQ团队多人用过、AMQP跨语言、模型API丰富(团队内部)
        • 劣势:阅读过源码的人过少, Erlang开发,二次修改不容易,项目组长对这个不熟悉(团队内部)
        • 机会:项目可以快速上线,减少采坑(团队外部)
        • 威胁:未来可能有更强大的MQ产品出现或公司改动架构(团队外部)
  • 总结:根据SWOT进行充分分析,然后进行取舍选择,考虑更全面(对比没用这个分析你会怎么选择)

2.3 方法论SMART衡量需求、工作的利器

什么是SMART方法论

  • 源于国外管理大师的《管理的实践》

  • 是为了利于员工更加明确高效地工作,更是为了管理者将来对员工实施绩效考核提供了考核目标和考核标准,使考核更加科学化、规范化

  • 是5个单词的缩写

    • SMART原则【目标管理、设置】
    • Specific:目标要具体
    • Measurable:目标成果要可衡量(量化)
    • Attainable:目标要可实现,避免过高/过低
    • Relevant:与其他目标有一定的相关性
    • Time bound:目标必须有明确的期限
  • 意义:在制定工作目标或者任务目标时,考虑一下目标与计划是不是SMART化的。只有具备SMART化的计划才是具有良好可实施性的,也才能指导保证计划得以实现

  • 案例

    • 短链平台项目组成员,每天需要开晨会-并记录 ( 周一 早上团队开周会,每个人列出本周事项安排)

    在这里插入图片描述

    • 张三的周报如下
      • 周三前完成短链平台数据库设计并输出相关sql文件(SMART)
      • 周四前完成短链平台整体架构搭建和工作任务拆分并评审完成(SMART)
      • 周二完成短链微服务开发工作 (SM RT)
      • 开发账号微服务 (S)
      • 解决老项目的bug ( )
      • 周二完成优化电商项目里面的下单接口RT响应时间,把500ms优化到200ms响应(SMART)

2.4 产品功能需求概览

五、产品需求描述

1、产品首页

  • 功能场景描述:用户产品进入官网首页
  • 前置条件:无

在这里插入图片描述

功能说明

编号功能点击业务规则备注
1产品功能下拉产品功能列表
2应用场景进入应用场景页,直接触达用户
3定价方案进入报价页面
4生成短链1、登录状态下,直接生成短链并自动复制2、未登录状态,则打开用户登录页

2、产品报价页

  • 功能场景描述:进入相关页面可以看到不同产品的价格和权益
  • 前置条件:无

3、登录注册页

  • 功能场景描述:用户注册登录
  • 前置条件:无

4、分组管理页

  • 功能场景描述:用户进入管理后台,可以新建分组、分组下可以新建短链
  • 前置条件:登录

5、短链管理页

  • 功能场景描述:用户进入管理后台,可以新建分组、分组下可以新建短链
  • 前置条件:登录

6、创建短链页

  • 功能场景描述:用户进入管理后台,选择某个分组下可以新建短链
  • 前置条件:登录

7、短链数据分析页

  • 功能场景描述:用户进入管理后台,选择短链查看访问数据情况
  • 前置条件:登录

8、流量包管理页

  • 功能场景描述:查看用户个人的流量包使用情况
  • 前置条件:登录

9、流量包充值

  • 功能场景描述:下单支付页面,用户根据自己的需要进行下单购买对应数量的流量包
  • 前置条件:登录

第3集 商用短链平台-微服务拆分讲解

简介:海量数据处理商用短链平台-微服务拆分和技术栈版本说明

  • Maven聚合工程拆分
    • dcloud-common
      • 公共依赖包
    • dcloud-app
      • Flink+Kafka实时计算
    • dcloud-account
      • 账号+流量包微服务
    • dcloud-data
      • 数据可视化微服务
    • dcloud-gateway
      • 业务网关
    • dcloud-link
      • 短链微服务
    • dcloud-shop
      • 流量包商品+支付微服务
  • 微服务技术栈+前置中间件版本说明
    • JDK11
    • SpringBoot 2.5.5
    • SpringCloud 2020.0.4
    • AlibabaCloud 2021.1
    • Sharding-JDBC 4.1.1
    • Mysql 8.0
    • Nacos 2.0.2
    • Redis 6.2.4
    • RabbitQM 3.8.15
    • Kafka : wurstmeister/kafka:2.13-2.7.0
      • 为啥有RabbitMQ还要有Kafka(单机写入TPS约在百万条/秒,最大的优点,就是吞吐量高)
      • 一个是业务MQ、一个大数据流式处理的MQ,建议分开
    • 还有更多的中间件用的时候再安装

3.1 短链平台-业务架构图讲解

简介:商用短链平台-业务架构图讲解

在这里插入图片描述

  • 各个微服务模块解析
    在这里插入图片描述

第4集 阿里云Linux服务器选配和常用中间件环境安装

简介:云服务器配置和搭建Docker环境讲解

  • 云服务器购买

    • 厂商
      • 阿里云:https://www.aliyun.com/
      • 腾讯云:https://cloud.tencent.com/
      • 亚马逊云:https://aws.amazon.com/
      • 腾讯云新用户折扣地址
        • https://cloud.tencent.com/act/cps/redirect?redirect=1575&cps_key=3cb5dbec53a023baba788acac8d11871&from=console
  • 服务器说明

阿里云-服务器根据情况买1~2台就行, 建议买2核8g以上可以。

环境问题说明

  • 务必使用CentOS 7 以上版本,64位系统,不要在Windows系统操作!!!!推荐是CentOS 7.8

  • 带宽可以选择固定带宽1M~5M都行,或者按量付费(带宽过小,后续Jenkins构建推送镜像比较慢)

  • 使用本地用虚拟机(最好有个性能好的主机,或服务器)

4.1Docker安装

#按照依赖
yum install -y yum-utils device-mapper-persistent-data lvm2#配置yum源(比较慢,不用)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo#配置yum源 使用国内的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#查看版本
yum list docker-ce --showduplicates | sort -r#1. 安装docker
yum -y install docker-ce-20.10.10-3.el7#2. 查看docker版本
docker -v#3. 启动docker
systemctl start docker#4. 查看docker 启动状态
systemctl status docker检查安装结果。
docker info启动使用Docker
systemctl start docker     #运行Docker守护进程
systemctl stop docker      #停止Docker守护进程
systemctl restart docker   #重启Docker守护进程docker ps查看容器
docker stop 容器id修改镜像仓库
vim /etc/docker/daemon.json
#改为下面内容,然后重启docker
{
"debug":true,"experimental":true,
"registry-mirrors":["https://pb5bklzr.mirror.aliyuncs.com","https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
}#查看信息
docker info注意:不使用1.13.1版本,该版本在jenkins使用docker命令时会说找不到配置文件!

4.2云服务器基础设施安装之Mysql8.0+Redis6.X安装

  • Mysql8.0安装
#安装mysql8,让容器使用宿主机的时间,容器时间与宿主机时间同步
docker run \-p 3306:3306 \-e MYSQL_ROOT_PASSWORD=y511944s10.yicp.fun \-v /home/data/mysql/data:/var/lib/mysql:rw \-v /etc/localtime:/etc/localtime:ro \--name class_mysql \--restart=always \-d mysql:8.0#Mysql工具连接测试#连接数配置
show variables like '%max_connections%';
set GLOBAL max_connections=5000;
set GLOBAL mysqlx_max_connections=5000;
  • Redis6安装
docker run -itd --name y511944s10.yicp.fun-redis1 -p 6379:6379 -v /mydata/redis/data:/data redis:6.2.4 --requirepass class.net进入容器的redis
docker exec -it 容器id redis-cli工具测试连接

4.3 云服务器基础设施安装之Nacos2.x+Mysql8配置持久化

简介:云服务器基础设施安装之Nacos2.x+Mysql8配置持久化-避坑

  • Nacos持久化SQL数据脚本
    • 默认登录
      • 账户nacos
      • 密码 nacos

/******************************************/
/*https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql */
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info   */
/******************************************/
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');
  • Nacos2.x安装(生产环境让运维人员配置网络,不暴露公网)

    • 配置中心需要加认证信息才可以访问
    开源版本的 Nacos server 配置中,不会对客户端鉴权,即任何能访问 Nacos server 的用户,都可以直接获取 Nacos 中存储的配置,假如一个黑客攻进了企业内网,就能获取所有的业务配置,这样肯定会有安全隐患。比如请求
    http://112.74.55.160:8848/nacos/v1/cs/configs?dataId=dcloud-account-service-dev.yaml&group=DEFAULT_GROUP需要先开启 Nacos server 的鉴权,在 Nacos server 上修改 application.properties 中的 nacos.core.auth.enabled 值为 true 即可
    
    docker run -d \
    -e NACOS_AUTH_ENABLE=true \
    -e MODE=standalone \
    -e JVM_XMS=128m \
    -e JVM_XMX=128m \
    -e JVM_XMN=128m \
    -p 8848:8848 \
    -e SPRING_DATASOURCE_PLATFORM=mysql \
    -e MYSQL_SERVICE_HOST=120.79.150.146 \
    -e MYSQL_SERVICE_PORT=3306 \
    -e MYSQL_SERVICE_USER=root \
    -e MYSQL_SERVICE_PASSWORD=y511944s10.yicp.funclass.net168 \
    -e MYSQL_SERVICE_DB_NAME=nacos_config \
    -e MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false' \
    --restart=always \
    --privileged=true \
    -v /home/data/nacos/logs:/home/nacos/logs \
    --name y511944s10.yicp.fun_auth \
    nacos/nacos-server:2.0.2
    

4.4云服务器基础设施安装之RabbitMQ安装

简介:云服务器基础设施安装之RabbitMQ安装

  • RabbitMQ安装
docker run -d  --name xd_rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:3.8.15-management#网络安全组记得开放端口
4369 erlang 发现口
5672 client 端通信口
15672 管理界面 ui 端口
25672 server 间内部通信口访问管理界面
ip:15672

-e MYSQL_SERVICE_DB_PARAM=‘characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false’
–restart=always
–privileged=true
-v /home/data/nacos/logs:/home/nacos/logs
–name y511944s10.yicp.fun_auth
nacos/nacos-server:2.0.2


###  4.4云服务器基础设施安装之RabbitMQ安装**简介:云服务器基础设施安装之RabbitMQ安装**- RabbitMQ安装
docker run -d  --name xd_rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:3.8.15-managemen#网络安全组记得开放端口
4369 erlang 发现口
5672 client 端通信口
15672 管理界面 ui 端口
25672 server 间内部通信口访问管理界面
ip:15672

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/403580.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu20.04挂载机械硬盘

环境说明 1.基于清华源地址下载的ubuntu20.04制作的系统盘,然后安装在PC上(固态硬盘) 2.机械硬盘无法看见 目的 挂载机械硬盘,开机就能自动启动/挂载 参考链接 https://blog.csdn.net/qq_35624642/article/details/137713143…

Socket编程TCP 基础

一.什么是Socket(套接字) 定义:就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程&#x…

C:每日一练:单身狗(2.0版本)

前言: 今天在刷题的时候突然看到一道题,疑似一位故题。仔细一看,欸!这不是就是单身狗的升级版吗?我想那必须再安排一篇,不过由于本篇文章与上一篇单身狗文章所涉及的知识点基本相同,所以还请大…

政企单位如何选择适合规模的即时通讯软件?

政企单位在不同规模的组织结构中都面临着沟通和协作的挑战。为了提高工作效率和团队协作能力,选择适合规模的即时通讯软件至关重要。本文将为政企单位在选择适合规模的即时通讯软件时提供一些关键要素和指导,同时重点介绍WorkPlus作为一个可以迎合政企单…

谷歌的高级指令有哪些

今天会分享一些组合用法,这样就能节省许多时间可以放在跟进客户上面(本文只介绍谷歌的搜索指令,并无推广) part one 谷歌常用的搜索引擎指令: 1、Inurl,在网址中 2、Intext,在网页内容中 3、…

tcpdump入门——抓取三次握手数据包

1. 使用docker启动一个tcp应用 参考:https://blog.csdn.net/LONG_Yi_1994/article/details/141175526 2. 获取容器id docker ps |grep gochat 3. 获取容器的 PID 首先,你需要获得容器的进程 ID(PID)。可以使用 docker inspect…

遥感之常用各种指数总结大全

目前在遥感领域基本各种研究领域都会用到各种各样的指数,如水体指数,植被指数,农业长势指数,盐分指数,云指数,阴影指数,建筑物指数,水质指数,干旱指数等等众多。 本文对上…

【Web】巅峰极客2024 部分题解

目录 EncirclingGame GoldenHornKing php_online admin_Test EncirclingGame 玩赢游戏就行 GoldenHornKing 利用点在传入的app 可以打python内存马 /calc?calc_reqconfig.__init__.__globals__[__builtins__][exec](app.add_api_route("/flag",lambda:__i…

STM32通过I2C硬件读写MPU6050

目录 STM32通过I2C硬件读写MPU6050 1. STM32的I2C外设简介 2. STM32的I2C基本框图 3. STIM32硬件I2C主机发送流程 10位地址与7位地址的区别 7位主机发送的时序流程 7位主机接收的时序流程 4. STM32硬件与软件的波形对比 5. STM32配置硬件I2C外设流程 6. STM32的I2C.h…

Java Web|day6.MyBatis-Plus

MyBatisPlus 定义 mybatis-plus是一款Mybatis增强工具,用于简化开发,提高效率。 核心功能 注解 TableName 注解在类上,指定类和数据库表的映射关系。实体类的类名(转成小写后)和数据库表名相同时,可以不…

网络协议九 应用层 HTTPS

一 什么是 HTTPS 前面我们看到HTTP 有很多安全问题,因此引出了 对称加密 和 不对称加密。 那么这个对称加密和不对称加密,我们怎么和HTTP结合起来呢?HTTPS 就是弄好的 HTTP 和 加密结合的协议。 通过HTTP加密后的数据,整个传输过…

Fly Catcher:通过监测恶意信号来检测飞机欺骗

Fly Catcher 的开发者 Angelina Tsuboi 是一名飞行员、网络安全研究员和发明家。 她决定着手一个将这三个不同兴趣结合起来的项目,以解决航空雷达系统的一个重大问题。 ADS-B 系统最初用于基本的飞机定位和跟踪,Tsuboi 对该系统的网络安全方面进行了深…

Java语言程序设计——篇十四(1)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳&…

日撸Java三百行(day25:栈实现二叉树深度遍历之中序遍历)

目录 一、栈实现二叉树遍历的可行性 二、由递归推出栈如何实现中序遍历 1.左子树入栈 2.根结点出栈 3.右子树入栈 4.实例说明 三、代码实现 总结 一、栈实现二叉树遍历的可行性 在日撸Java三百行(day16:递归)中,我们讲过…

【C++11】入门基础

🔥 个人主页:大耳朵土土垚 🔥 所属专栏:C从入门至进阶 这里将会不定期更新有关C/C的内容,欢迎大家点赞,收藏,评论🥳🥳🎉🎉🎉 文章目录…

minikube 实践练习4 - 滚动更新

1. 应用版本更新 #查看image kubectl describe pods#设置应用的image为新版本 v1 -> v2 kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcampdocker.io/jocatalin/kubernetes-bootcamp:v2#验证更新结果 export NODE_PORT"$(kubectl get services/…

糟糕界面集锦-控件篇11

GUI 的一个设计基本准则是:如果控件被禁用,那么就应该表现出来。这样不管是菜单项、命令按钮、列表框、下拉列表,我们只要一瞥就可以知道是否可用。奇怪的是为什么微软在按钮被禁用时不把它显示出来?这幅图片来自Office95 系列中的…

Redis操作--RedisTemplate(二)StringRedisTemplate

一、介绍 1、简介 由于存储在 Redis 中的 key 和 value 通常是很常见的 String 类型,Redis模块提供了 RedisConnection 和 RedisTemplate 的扩展,分是 StringRedisConnection 和 StringRedisTemplate,作为字符串操作的解决方案。 通过源码…

【区块链+金融服务】第一创业证券开发银行间报价 Dapp | FISCO BCOS应用案例

在银行间市场现券交易的过程中,通过银保监会发牌的代理机构进行报价交易,已解决无代理阶段存在的许多问题。 但是由于业务需要,使用以前模式进行报价交易的仍占有一定比例。 针对这一现状,第一创业证券基于 FISCO BCOS 区块链底层…

多种办公功能的WORD VBA程序

word的VBA办公助手 源代码 Option Explicit 需要引用 excel 16.0 库 所有内容仅供个人学习使用,严禁传播。1-公共变量-表格属性------------------------------------------------------------------------- Dim Hg% hg:行高 Const K1 0.1 Dim Flg_bh As Boolean …