- 博客(12)
- 收藏
- 关注
原创 根据cola架构和DDD记录自己的理解
其中包含了与money相关的各个属性和方法,而且money在这里作为被设计为值对象的时候,其中的方法都只操作自己具备的属性,也就是说方法的入参和出参不会有除Money外的其他领域模型对象,这样在高内聚的同时,与其他领域极大降低了耦合度。因此,领域模型的设计也会随着业务的变化而改进,就如同money模型,我们现在这个建模是传统意义上的钱,也就是纸币,现在除了纸币还有数字货币,虚拟货币等,如果业务升级到需要囊括这些新型货币,不可避免要重建模型。聚合根的作用是保证内部的实体的一致性,对外只需要对聚合根进行操作。
2024-12-20 17:28:32
1093
原创 kubernetes集群及Jenkins发布
k8s的集群安装部署我参考了另外一篇博客,链接:。我在按照博文实操过程中,遇到了一些问题,特此记录一下,也希望能为大家在实操遇到问题时提供一点线索。
2024-12-12 13:50:14
300
原创 关于redisson Unable to send PING command over channel 异常
redis版本5.0.9,redisson的springboot-stater版本是3.24.2,redis中做了一个hash结构的缓存,里面的数据量比较大,有100多万个键值对,之前运行一直正常,最近突然频繁在提取缓存的时候报错:平时用这个方法去提取数据问题不大,也一直没有异常,直到最近缓存量大增,当键值对达到百万级,就出现了redisson的异常信息。
2024-11-22 13:18:57
992
原创 使用@DependsOn依赖@EnableConfigurationProperties引入的配置类问题
@DependsOn和@EnableConfigurationProperties引起的required a bean named 'configVariable' that could not be found
2024-11-18 14:52:35
326
原创 redisson自动装配源码导致的redis time out问题
最近和兄弟部门做项目集成时发现个bug,导致redisson一直报连接超时。报错一直是3秒后超时。但是我们设置的spring.redis.timeout比3秒大。后面和同事debug了一下源码。而RedisProperties这个类里面根本就没有connectTimeout属性,只有timeout属性。所以使用自动装配的配置就只有默认的3秒。springboot版本为2.3.12.RELEASE。解决办法是自己写个redisson的配置类手动设置setTimeout参数。
2024-09-02 11:35:19
353
原创 长事务druid数据库连接配置
当项目中有难以避免的长事务操作时,如果选用的是druid是数据库连接配置,需要对部分参数进行必要设置,不然数据库连接会有各种问题。Oracle一般会是connect time out,而mysql除了会connect time out,还经常会出现Lock wait timeout exceeded之类的问题,此时查看SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;会发现表被长时间锁住。如果本身sql和逻辑没有问题的话,可以尝试对druid进行配置调优。
2024-09-02 10:49:08
394
原创 group for auto partition assignment; it is likely that the consumer was kicked out of the group
group for auto partition assignment; it is likely that the consumer was kicked out of the group
2024-03-06 19:02:02
462
1
原创 springboot动态多数据源配置多线程切换问题
一开始这个动态切换数据源的功能也是借鉴了网上的思路,其中是否存在的问题也并未深究,要拓展spring的功能的时候,还是需要去理解一下spring的设计思想的,纸上得来终觉浅,绝知此事要躬行。
2024-01-08 19:54:33
1841
3
原创 SpringWebFlux结合多线程编写流式处理异步返回接口
如代码所示,关键在于A处注释所说,需要按照自己的业务划分,将任务划分为多个部分,每个线程处理一部分数据,以此达到前面所说的多线程对数据分区处理,这样每个线程处理结束后结果会直接返回到界面,而不必等到所有任务结束才返回,达到数据流动效果,等所有线程结束然后使用complete()方法结束流。当然,如果服务器性能足够,那配置10个线程理论上1s就能得到所有结果,所以性能足够强大的话那我们似乎也不需要做流式处理了。java使用多线程为关系型数据库结合spring响应式编程模拟流式处理。
2023-12-22 10:39:38
1714
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人