V2EX DreamStar 的所有回复 第 1 页 / 共 1 页
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    DreamStar    全部回复第 1 页 / 共 1 页
回复总数  14
2023-06-16 14:49:59 +08:00
回复了 hemingyang 创建的主题 Java spring 中如何控制 resttemplate 远程调用的事务回滚
你还想控制三方服务回滚, 属实想多了.
自己业务执行完提交后, 在请求三方, 失败可以重试.
如果业务调三方有返回值依赖, 业务添加中间状态, 前置业务完成, 可重试的请求三方直到成功, 继续后置业务.

就是最终一致性, 多从业务流程层面解决吧.
2023-04-25 10:42:07 +08:00
回复了 brucefu 创建的主题 Java 多大厂才能用到分布式事务
单表数据过多导致分库表产生的分布式事务->分布式数据库解决
业务上跨服务调用产生的分布式事务->最终一致性解决
总结来说, 分布式数据库要解决的分布式事务问题不等于全部分布式事务问题
2023-04-14 15:33:07 +08:00
回复了 onlyApple 创建的主题 信息安全 注意!用了代理也会暴露了你的真实 IP
这也是反爬手段的一种, 非常恶心和刁钻
2023-03-10 15:31:04 +08:00
回复了 Gct012 创建的主题 程序员 弱鸡求教一个关于 Java 多层 for 循环效率问题
先从业务上调整, 能整合的整合, 能合并的合并.
其次同步转异步, 事件驱动用消息队列+本地事件表,根据具体的消费能力调整并发即可.
你这个量用单进程多线程做稳定性太差,吞吐量太低,没啥可观测性.
非空, 非负, 长度啥的在应用服务就搞定.
email 之类的实体数据, 用值对象解决, 构造的时候就判断了, 不可能有非法的.
唯一类验证交给 repo 服务做 exist 判断, 并发创建唯一交给数据库唯一索引就行
ctrl + p 一次可以看到方法签名 两次可以显示参数名 临时的
编辑器->嵌入提示->形参名称->Java
Editor->Inlay hints->Parameter names->Java
关于形参名称有好几个设置
2022-12-19 16:47:36 +08:00
回复了 yanhomlin 创建的主题 推广 美团动态线程池开源框架 DynamicTp
升级一下 Java 版本, 用协程就不用搞这么多魔法操作了
2022-11-10 09:28:35 +08:00
回复了 iam 创建的主题 程序员 关于重复提交的问题
数据库层面
数据库上唯一限制, 并发更新上乐观锁字段.

代码层面
做个过滤器, 出个幂等接口返一个 token, 同 token 只有一次能成功, 多次就是重复请求
redis 锁
2022-09-19 11:20:59 +08:00
回复了 AntiGameZ 创建的主题 Java 提问对于低质量高复杂度业务代码逻辑的一根筋治理
首先是代码写的不要职责太多, 一棵树从不同角度学科看能刨析出众多属性来, 抽象要合理, 限制在你的实际问题内.
其次是复杂度是恒定的, 没有任何一种方式能规避复杂度, 他只会从你看的到的地方转移到你看不到的地方.
2022-06-02 17:33:52 +08:00
回复了 neptuno 创建的主题 问与答 求助,关于 Java 时区的问题
序列化方面不多赘述, jdk8 时间类库足以

```java
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
Instant now = Instant.now();
System.out.printf(
"中国: %s%n 泰国: %s",
formatter.format(now.atZone(ZoneId.of("Asia/Shanghai"))),
formatter.format(now.atZone(ZoneId.of("Asia/Bangkok")))
);
```
2022-04-18 15:29:56 +08:00
回复了 isakbener256 创建的主题 问与答 DDD 中的聚合根应该怎么理解?
写了不少, 写累了. 转成一段话.
用 OOP 的范式参考 DDD 战术策略 把 与领域(业务)专家沟通的专业知识和专用词语构建成的统一语言模型 转换 为近似自然语言的用例和代码即可.
领域事件是帮你模拟自然的, 有助于解耦和拆解大事务.(其实最终一致性才是大多数, 真正必须的强一致还是少的)
CQRS 是帮你解决写核心业务时强行兼容查询模型带来的冲突.
写领域模型时不要考虑表结构, 要优先考虑模型结构, 在最后持久化时实在调和不了的按需调整模型.
跟领域专家不要提技术相关词语, 用跟领域专家能听懂的模型语言沟通, DDD 最核心的在于技术跟业务同用一套模型语言沟通与交流.
----
在上下文中将所有实体组合成的超级聚合的最顶级实体就是聚合根, 你的所有业务方法都以聚合根为入口.
例如参赛者(选手)报名参赛, 将其分配到竞赛第一赛程的某一个竞赛组中.你将通过竞赛对象上的一个添加参赛者的方法把这个选手通过内部赛程,竞赛组的相关方法记录进去.

这个超级聚合是不可取的, 因为聚合要保证一致性, 会有剧烈的并发冲突. 加载时也要全部加载, 浪费资源.
要根据实际情况的生命周期和最小一致性来拆分.
例如竞赛和赛程在超级聚合中是组合关系, 现在拆成聚合关系, 即仅记录所有赛程的 id(当然也可以记录部分摘要信息, 也可以只记录当前赛程的 id), 看业务而定. 如果记录摘要, 当赛程更新是发出事件, 竞赛监听赛程更改事件更新摘要, 而不是在更新赛程的事务中同时更新摘要!

每次事务只更改一个聚合, 跨聚合更改用事件来做最终一致性.
当然一定要跟领域(业务)专家沟通好.
2021-11-17 17:57:07 +08:00
回复了 dreamcog 创建的主题 分享创造 做一个新的中文版本的 Reddit (简答)
YLF8HK 已用
2020-12-22 15:03:20 +08:00
回复了 zhouxelf 创建的主题 Vue.js Vue3 目前有已经在生产环境用的吗
@sam014 能请您讲述下按需加载怎么做的吗? 我按照 antdv2.0 的官方介绍安装了插件并配置了相关的配置文件 style 项也改成了 css,但是运行时依然会在控制台提示没有按需引入.期待您的回复
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3583 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 28ms UTC 04:25 PVG 12:25 LAX 20:25 JFK 23:25
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86