技术随笔
目前对于活动运行中的数据监控,主要依赖数据组的统计与输出。线上活动的运行情况并不能通过「蜂玩乐园」与「奖池」系统实时并综合表现出来。
未来会补齐运行时的活动监控功能,通过活动、任务、奖品的运行时数据指标,指导运营同学第一时间调整活动参数,取得最佳运营效果。
作者:注销用户
链接:https://juejin.cn/post/6844903997891936263
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
3. 建设营销数据中心。
建设营销数据中心,包括:营销行为数据都采集,存储,分析,报表。满足营销数据可视化,活动效果数据分析等需求。
活动效果可洞察,资损&故障易发现
整体来看一个营销系统的核心就是:以技术能力解决营销场景下的效率、质量、风险等问题,高效稳定的提供营销能力输出。
系统实线时的关注点:1、性能 2、数据一致性 3、高度配置化能力 4、完备的效果洞察&监控能力 5、系统的可扩展性
https://zhuanlan.zhihu.com/p/145200653
Flink CDC 提供了直接读取 MySQL binlog 的方式,相对以前需要使用 canal 读取 binlog 写入 Iceberg,然后再去消费 Iceberg 数据。少了两个组件的维护,链路减少了,节省了维护的成本和出错的概率。并且可以实现导入全量数据和增量数据的完美对接,所以使用 Flink SQL 将 MySQL binlog 数据导入 Iceberg 来做 MySQL->Iceberg 的导入将会是一件非常有意义的事情。
https://khalilstemmler.com/articles/graphql/graphql-architectural-advantages
由于采用分布式架构,引入最终一致性问题。必然会遇到分布式事务,分布式锁,消息,分布式链路追踪,arths,监控告警,日志存储,唯一id生成
分布式消息
二阶段,3阶段,xa, seta
tcc,saga, 事务发件箱
业务层面重试
数据表无唯一索引约束
消息处理规范:
1.验证过滤消息 retail_
2.加分布式锁
3.幂等保证
4.业务处理
5.释放分布式锁
2.接收消息后,处理大时长任务
财务中台侧,接收到零售单店或者微商城店铺升级消息后需要初始化库存、同步历史单据、过程耗时长。
为了防止大延时任务处理时间过长导致nsq消息重发在客户端重复处理,解决:
接收到消息后,将具体任务处理放入异步线程中,同步返回true,通知nsq server端该消息已消费成功
Spring+ 策略模式, 采购收货,无单收货,采退收货
按配置加载,并行查询
FIND_IN_SET(#categoryName#, category_name)
已售采购V1子订单纬度,过滤,量多,内存操作。V2商品纬度,SQL过滤
商品使用手动事务,商品数据还没落库,事件发出去了。没有把该商品绑定z货位。商品导入没有绑定z货位。
在for循坏外开启事务
A:按订单拆分报错,sku拆分可以。clueId: 382998142988800。报错:Transaction rolled back because it has been marked as rollback-only。外部有事务A,内部有for语句,内部也有事务B,默认传播机制。A调用B,A中抓了B的异常,当B发生异常的时候,B的操作应该回滚,但是A吃了异常,A方法中没有产生异常,所以A的操作又应该提交,二者是相互矛盾的。
spring的事务关联拦截器在抓到B的异常后就会标记rollback-only为true,当A执行完准备提交后,发现rollback-only为true,也会回滚,并抛出异常告诉调用者。
商品同步4小时,多线程半小时
由于采用分布式架构,引入最终一致性问题。必然会遇到分布式事务,分布式锁,消息,分布式链路追踪,arths,监控告警,日志存储,唯一id生成
分布式消息
二阶段,3阶段,xa, seta
tcc,saga, 事务发件箱
业务层面重试
数据表无唯一索引约束
消息处理规范:
1.验证过滤消息 retail_open
2.加分布式锁
3.幂等保证
4.业务处理
5.释放分布式锁
2.接收消息后,处理大时长任务
财务中台侧,接收到零售单店或者微商城店铺升级消息后需要初始化库存、同步历史单据、过程耗时长。
为了防止大延时任务处理时间过长导致nsq消息重发在客户端重复处理,解决:
接收到消息后,将具体任务处理放入异步线程中,同步返回true,通知nsq server端该消息已消费成功
Spring+ 策略模式, 采购收货,无单收货,采退收货
按配置加载,并行查询
FIND_IN_SET(#categoryName#, category_name)
已售采购V1子订单纬度,过滤,量多,内存操作。V2商品纬度,SQL过滤
商品使用手动事务,商品数据还没落库,事件发出去了。没有把该商品绑定z货位。商品导入没有绑定z货位。
在for循坏外开启事务
A:按订单拆分报错,sku拆分可以。clueId: 382998142988800。报错:Transaction rolled back because it has been marked as rollback-only。外部有事务A,内部有for语句,内部也有事务B,默认传播机制。A调用B,A中抓了B的异常,当B发生异常的时候,B的操作应该回滚,但是A吃了异常,A方法中没有产生异常,所以A的操作又应该提交,二者是相互矛盾的。
spring的事务关联拦截器在抓到B的异常后就会标记rollback-only为true,当A执行完准备提交后,发现rollback-only为true,也会回滚,并抛出异常告诉调用者。
商品同步4小时,多线程半小时
基于注解+Enum+策略模式优化switch case
电商营销体系建设的运营、产品和技术挑战
http://www.woshipm.com/pd/4369060.html
PPT下载链接: https://pan.baidu.com/s/1ARVOPBrRrwBo-85L9wDw6Q
密码: vvcb
https://github.com/polarismesh/polaris
https://www.notion.so/910394d1f7464f17a9cf9dce657255a0
在整个微服务体系中,Service Mesh(服务网格)和 API Gateway 分别扮演着“主内”和“主外”的角色。
对内,Service Mesh 在微服务之间提供了高效、可靠的通讯访问架构,并基于此进一步提供了访问跟踪、性能监控、访问安全、熔断限流等管理功能和运行策略。
对外,API Gateway 为运行在企业内部的业务服务打开一扇对外的窗口。通过“API 服务市场”可将企业内部能力统一输出给外部上下游的生态伙伴。同时伴以较 Service Mesh 更强的访问安全、更精细的服务供应控制策略以满足业务生态中各类用户的需求。
从API设计开始,了解一下Golang的新框架Twirp
源码面前没有秘密,这些开源项目带你阅读源码(https://zhuanlan.zhihu.com/p/410999036)
The Evolution of Distributed Systems on Kubernetes
Kubernetes 核心组件原理梳理
StreamNative
https://space.bilibili.com/391380821
Design Principles and Patterns for Highly Concurrent Applications
万字长文带你入门Istio
Adoption of Cloud Native Architecture, Part 3: Service Orchestration and Service Mesh
https://www.infoq.com/articles/cloud-native-architecture-adoption-part3/
感谢关注阿里巴巴云原生公众号,在这里你可以:
回复【1】下载《云原生架构白皮书》;
回复【2】下载《阿里云数据库案例集》;
回复【3】下载《云原生中间件精品案例集》;
回复【4】下载《云效 DevOps 客户案例集(公共云)》;
回复【5】下载《云原生技术以及架构实践年货小红书》。
回复【731】参与 Meetup 现场抽奖
除此之外,你还可以:
1. 加群:<a href="https://t.1yb.co/8YM8">进群</a>和 2 万+云原生爱好者讨论技术趋势,实战进阶
2. 回复“入门”下载《CNCF x Alibaba 云原生技术公开课》全部 PPT
3. 学课程:<a href="https://developer.aliyun.com/learning/roadmap/cloudnative2020">点击免费观看《云原生技术实践公开课》</a>
4. 点击下载史上最干货的云原生学习资料:https://developer.aliyun.com/topic/download?id=929
5. 参加阿里云 X LFOSSU X 马哥教育《云原生人才培养计划 2.0》课程链接:https://developer.aliyun.com/graph/Kubernetes