20170318
2017-03-18 14:11:43 0 举报
2017年3月18日,这是一个普通而又不平凡的日子。在这一天里,世界各地的人们都在忙碌地生活着,有的人在工作,有的人在学习,有的人在享受生活的美好。而在中国的某个角落,一场关于科技、创新和未来的研讨会正在进行,吸引了众多业内人士和学者的关注。这场研讨会的主题是“人工智能与未来社会”,与会者们围绕这一主题展开了激烈的讨论,探讨了人工智能技术在未来社会的发展趋势和影响。在这个特殊的日子里,人们对科技的热爱和对未来的期许汇聚在一起,共同为创造一个更美好的未来而努力。
作者其他创作
大纲/内容
类加载器
9
真实IPNginx-1
获取活动信息接口
Y
暂存区
营销调用流程:到账不是实时的!
JobDetail任务信息
营销后台
QPS峰值在1W+
不给业务条件
预算表:平台、部门、年度、总有价、总免费、可用有价、可用免费、实际使用有价、实际使用免费、预算负责人
3
snapshot-B
REDIS
公开发送
N
工作区
营销生产者
dubbo
配置活动
开始时间/结束时间
反向代理
最佳过滤方式【第二步】
预算管理表设计与技术方案
web
按天归档
包月回调
访问业务系统登录
营销平台正式地址:http://userboss.book.qq.com
运营中的活动修改礼包限制
给定item条件已测试
当日下发量在1600W+
Tomcat
访问porch的login_with_ticket_renew接口得到user信息(比如token)
API接口:queryById
Commit-B
自定义类加载器
Redis
release/release
SOA
下发道具
消费者服务
扫描
具体道具下发服务
Redis储存平台、部门、年度、活动ID、活动类型、总的有价使用、总的免费使用平台、部门、年度、活动ID、活动类型、按分钟、按分钟总的有价使用、按分钟总的免费使用平台、部门、年度、活动ID、活动类型、按天、按天总的有价使用、按天总的免费使用
Worker
Request
风控[日/周/月/总]:礼包的总限制单用户的限制
snapshot-C
写入
新增
CronTrigger
预算列表页面
YuewenBillingBGWeb Git-Flow
www.baidu.com
白名单
局部变量表操作数栈出口...
首次充值充值多少按充值比例送礼包充值多少送固定数量礼包[档位的概念]
不给item条件已测试
批次号
活动成本变更表:平台、部门、年度、活动ID、变更有价成本、变更免费成本
活动成本使用表:平台、部门、年度、活动ID、使用有价成本、使用免费成本
不给分类条件
CMQ
standby()挂起,暂停,可以重新start()
按天扫描
拉取最新master并切换到本地分支dev-1
订单系统业务逻辑
访问porch cas登录接口
解密
Tomcat集群
2
VPN
DB
curl 'https://login2.xiaohongshu.com/api/cas/login' ... --data-binary'{\"email\":\"jli7@xiaohongshu.com\
错误率为0
预算使用详情页面
定时线程池更新
测试验证通过
付费方式判断
营销预算服务
读取
methodOne
正向代理
档位处理
方法区运行时数据结构
MySQL
消费者
预付费?
origin/master
密钥M
服务运转正常!
start()
5
先进后出、线程运行方法时,需要用到的数据、指令、返回地址等。线程独享。
活动资源使用详细表【按礼包原始下发表】:平台、部门、年度、活动ID、活动类型、时间(精确到S)、有价使用、免费使用
Nginx
预算变日志更表:平台、部门、年度、变更前(总有价、总免费、可用有价、可用免费、实际使用有价、实际使用免费),变更后(总有价、总免费、可用有价、可用免费、实际使用有价、实际使用免费)、变更人、变更时间
Commit Parent指针文件快照提交元信息数据
6
给定业务条件
给定分类条件
春晚上游服务
开发完毕后push
JobDataMap
选择非首充活动
snapshot-A
...
活动资源使用按月归档表:平台、部门、年度、活动ID、活动类型、时间(精确到月)、某月的总有价使用、某月的总免费使用
书券服务
Commit-C
虚拟机栈
不给item条件
虚拟IP
和虚拟机栈类似。什么叫本地方法呢?比如native方法。
跳转到porch登录页
礼包
活动成本表:平台、部门、年度、活动ID、有价成本、免费成本
通过
充赠回调
下发礼包
白名单验证通过
活动下线/过期,落地到DB
密文A
git commit -am \"xxx\"
选择首充活动
修改
得到ticket
Quartz体系结构
request
活动资源使用按天归档表:平台、部门、年度、活动ID、活动类型、时间(精确到天)、某一天的总有价使用、某一天的总免费使用
活动成本使用表:平台、部门、当前系统年度、活动ID、使用有价成本、使用免费成本
feature/dev-1
携带ticket和serviceName
查询
访问
直接赠接口
定时任务线程池
负载均衡器,如LVS
指令
只有一个release分支,专供测试
本地开发分支dev-1
栈帧
书本ID
shutdown(true)shutdown(false)是否等待任务执行完毕后再行关闭
新增/下发调用限免券服务
生产者
指向当前线程正在运行的字节码指令。线程切换、每个线程独有、CPU时间片。
充值渠道
push[携带订单号]
Commit-A
4
最佳过滤方式【第三步】
methodTwo
CMQ/REDIS备份方案
阅读时长送礼包、每日签到送礼包、抽奖类、问答类、新手类、公众号活动类等等
开发部署构建自己的独立分支
用户到账不等待!
按月归档
预算新增页面注意平台、部门、年度唯一确定一条记录
直接赠
调用网络请求
HASH结构 NAME:平台ID_部门ID_年度_minute FIELD1:活动ID_活动类型_分钟1_有价,value1:v1FIELD2:活动ID_活动类型_分钟1_无价,value2:v2FIELD3:活动ID_活动类型_分钟2_有价,value3:v3FIELD4:活动ID_活动类型_分钟2_无价,value4:v4
receive明文msg
Master
访问业务系统单点登录接口
作者ID OR 分类ID OR书籍ID
营销平台道具
营销调用方
Class字节码
业务系统登出
营销平台测试地址:http://userbosstest.book.qq.com
活动成本表:平台、部门、年度(已经没有意义)、活动ID、有价成本、免费成本
YourJob业务任务
活动配置
是否匹配书币阅点
真实IPNginx-2
git push
首充/充值比例赠/充满赠
判断渠道
营销服务
方法区【类信息、常量、静态变量】
方法的形式参数、局部变量、类中的常量(final)、静态变量、成员变量存放的位置是不一样的。如果一个方法的形参列表过多,那么会导致局部变量表过大,使得栈中可以存放的栈帧变少,空间压缩,使得方法嵌套调用被限制。
给定业务条件已测试
有条件的更新:必须是在活动成本表中的活动存在的情况下
远程仓库
扩展类加载器
书券
KEY:平台ID_部门ID_年度_活动ID_total_有价 v1KEY:平台ID_部门ID_年度_活动ID_total_无价 v2
直接纳入分页【第一步】
活动成本变更表:平台、部门、年度、活动ID、版本(自动增长)、变更有价成本、变更免费成本、变更人、变更时间
SimpleTrigger
mybranch
git commit -m \"xxx\"
私钥SK
栈
Heap【成员变量、对象分配的空间】
修改额度必须大于实际使用额度
7
活动下线或者过期归还给预算池
携带参数,调用生产者
Trigger触发器
正式上线
调度时反射方式实例化
堆类的Class对象
send明文msg
git add
读取消息
白名单检查
直接操作redis删除key(和token相关)
HASH结构 NAME:平台ID_部门ID_年度_dayFIELD1:活动ID_活动类型_天1_有价,value1:v1FIELD2:活动ID_活动类型_天1_无价,value1:v2FIELD3:活动ID_活动类型_天2_有价,value1:v3FIELD4:活动ID_活动类型_天2_无价,value1:v4
SchedulerFactory
营销活动形式
JobExecutionContext
如果失败,写入
活动配置重点注意事项
平台判断
在本地完成merge操作(把dev-1合并到release上),PUSH推送
一句话,我们的单点登录,是通过用户信息去porch那里换取ticket,然后接口通过ticket再去porch来换取token信息,而登出操作比较直白,就是直接操作redis即可。总的来说,就是一处储存(redis),处处查询而已。
www.google.com
是否首充
git clone
应用类加载器
CDKEY接口
输入用户登录信息
Scheduler调度器
营销平台上线活动步骤
所属业务appid
Redis储存平台、部门、年度、活动ID、活动类型、总的有价使用、总的免费使用平台、部门、年度、活动ID、活动类型、按分钟、按分钟总的有价使用、按分钟总的免费使用
平均延时在9MS左右
赠币
Redis储存平台、部门、当前系统年度、活动ID、活动类型、总的有价使用、总的免费使用平台、部门、当前系统年度、活动ID、活动类型、按分钟、按分钟总的有价使用、按分钟总的免费使用平台、部门、当前系统年度、活动ID、活动类型、按天、按天总的有价使用、按天总的免费使用
8
写入消息
本地版本库
订单服务
更新
JVM运行时数据区
营销消费者
书券/阅券/包月体验卡
礼包下发
MQ
release测试通过,dev-1合并到master上,PUSH
加密
本地方法栈
包月[首开包月赠/非首开包月赠送]
出现失败
API实现:queryById
商品服务
生产者服务
引导类加载器
活动时间判断
Zookeeper
Job接口
pop[定时扫描]
定时线程池
业务系统登录 service https://hermes.xiaohongshu.com/newhermes/loginporch登录页 https://login2.xiaohongshu.com/login?service=https://hermes.xiaohongshu.com/newhermes/login&renew=1porch cas登录接口 https://login2.xiaohongshu.com/api/cas/login 业务系统单点登录接口 https://hermes.xiaohongshu.com/uranus/user/ssoLogin
预算修改页面
git pull /git fetch
数据
没有压力!实际上远远没有达到压测时10W+的水平
商品API接口:queryById
开通包月成功后回调
HEAD
针对每一个活动进行处理
master
公钥PK
包月成功回调
单点登录流程
CDKEY兑换
程序计数器
实际上,用户的登录就是在redis中完成了一个key的写入(token为key,用户相关信息为value),那么以后前端携带token(就是header中的Authorization),就可以通过后端filter机制进行redis查询出来了。
1
营销平台
0 条评论
下一页
为你推荐
查看更多