-
Notifications
You must be signed in to change notification settings - Fork 435
alpha的akka模式下,事务条目是否有写入redis #732
Comments
Akka Persistence Redis Plugin is a plugin for Akka persistence |
这是来自QQ邮箱的假期自动回复邮件。
将在最快的时间回复
|
明白了,还有一个疑问,如果将这个akka persistence用于生产系统,已经完成的事务数据怎么进行老化处理,有没有这方面的一些经验和实践 |
你说的老化是redis的数据老化,还是ES的数据老化? |
两者都是,怎么老化处理
…---原始邮件---
发件人: "Willem ***@***.***>
发送时间: 2022年2月8日(周二) 上午10:59
收件人: ***@***.***>;
抄送: ***@***.***>;"State ***@***.***>;
主题: Re: [apache/servicecomb-pack] alpha的akka模式下,事务条目是否有写入redis (Issue #732)
你说的老化是redis的数据老化,还是ES的数据老化?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you modified the open/close state.Message ID: ***@***.***>
|
老化处理是什么意思? |
就是数据怎么清理的意思
… 2022年2月10日 下午1:36,Lei Zhang ***@***.***> 写道:
老化处理是什么意思?
—
Reply to this email directly, view it on GitHub <#732 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ANVDS4QFTZDHKSOHW6XWXTTU2NFFJANCNFSM5NMM3IZA>.
Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you modified the open/close state.
|
actor 在停止后会调用以下方法清理 Redis 中的数据和快照 servicecomb-pack/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/SagaActor.java Lines 458 to 459 in 441a6ad
但是 highestSequenceNr 不会自动清理,你可以看这个注释(我在注释里提供了一个 Lua 脚本用来清理) servicecomb-pack/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/SagaActor.java Lines 419 to 457 in 441a6ad
ES 中的数据你可以根据 事务数据持久化 中的数据样例了解JSON 接口,可以使用 ES API 自行删除不需要的数据 |
OK,另外,下面这一行的这个SataTimeoutEvent事件类型,我在omega侧并没有发现有发送这种事件类型的。
https://github.com/apache/servicecomb-pack/blob/441a6adc14b8b2d6568411bcba56391649e6be5b/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/fsm/GrpcSagaEventService.java#L126
|
这里有一个事件定义文档 还有一个状态机设计 你可以了解一下,SataTimeoutEvent 时间不是由 omega 发起的,我印象中是使用了 Akka 的 goTo()...forMax() 实现的,在相关状态 goto 的时候都要超时设置 servicecomb-pack/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/SagaActor.java Line 91 in 441a6ad
通过内置 StateTimeout() 实现超时后发送状态机停止事件,并挂起事物 servicecomb-pack/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/SagaActor.java Line 126 in 441a6ad
|
看设计图,akka模式下,事务条目信息是有追加到redis中的,但是实现上并没有看到,只有看到事务结束后才把数据写入ES
The text was updated successfully, but these errors were encountered: