问题解决
文章平均质量分 64
闭着眼睛听风声
这个作者很懒,什么都没留下…
展开
-
容灾多活解决方案
容灾多活解决方案同城双活两个中心机房各有一组服务,两组服务层各接收50%的流量;资源层(数据库等等)分主备,分别部署在两个中心机房中,默认只使用主资源层,数据同步到备用资源层;当某一中心机房不可用的时候,在DNS域名解析环节把故障机房地址映射信息摘除,这样全部流量就到了正常的机房中。DNS一般部署在两个机房外的第三方或者云上,防止出现因为某个中心数据故障而无法进行数据切换。只使用一个资源层的原因:资源层的数据双活难度大,数据一致性很难100%保证。缺点:没有异地容灾能力,当整个城市出现问题原创 2022-03-20 22:57:19 · 5659 阅读 · 0 评论 -
幂等问题解决方案
幂等问题解决方案幂等问题是现在开发中很常见的一些问题,在没有做幂等校验的时候会带来一些很严重的问题:重复提交表单由于网络波动或者其他原因没有及时响应,用户以为没有提交成功反复点击提交,可能造成重复执行、重复消费,给公司的利益带来损失;如果恶意用户利用这个漏洞,很可能会给公司带来巨大的损失。那么幂等校验该如何做呢?幂等校验方式数据库唯一主键原理:利用数据库的唯一主键特性,添加数据到数据库,如果唯一主键有重复,添加失败并且报错。适合场景:这种方式会直接把数据传到数据库进行执行,占用数据库资源原创 2022-03-06 10:42:43 · 641 阅读 · 0 评论 -
浅谈服务发布方式(蓝绿部署、金丝雀发布、滚动升级)
浅谈服务发布方式(蓝绿部署、金丝雀发布、滚动升级)最近由于其他依赖服务升级的问题导致我们的项目大面积不可用,造成了较大的损失,因此仔细梳理了一下服务升级的方式。这几种方式各有优点,可以根据自己当前项目的现状,选择合适的部署方式,以最小的代价完成服务的升级。蛮力发布传统发布升级,手动将要升级的服务替换。适合场景:服务单节点部署。服务数量少。服务中断对于业务没多少影响。新旧版本的代码可以不兼容,改动可以很大。注意事项:手动升级在服务多的时候会非常繁琐。升级时候会有服务中断。原始版本原创 2022-02-17 23:13:59 · 799 阅读 · 0 评论 -
SPRING全局返回值处理报错:CommonResult cannot be cast to class java.lang.String
SPRING全局返回值处理报错:CommonResult cannot be cast to class java.lang.String问题描述解决方案问题分析解决方案分析问题描述项目统一做了全局返回值处理之后,controller层的方法返回值是String类型,报错CommonResult cannot be cast to class java.lang.String解决方案最终的处理方法是,String类型的不做包装,直接返回成String类型的。AbstractJackson2Htt原创 2022-01-14 12:33:07 · 2990 阅读 · 1 评论