项目部署之绝杀三招 默认分类 博主自留地

项目部署之绝杀三招

前言:为什么有这边文章呢,是源于公众号后台有一位粉丝留言,留言如下,             下面我们聊聊部署通常的几种方式? 第一种方式:纯手工作业 本地打包,通过上传部署包到服务器制定目录,启动应用程序   这种方式比较适合小白,建议新手用这种方式...
阅读全文
经典sql-获取当前文章的上一篇和下一篇 默认分类

经典sql-获取当前文章的上一篇和下一篇

我们在做资讯类的网站的时候,肯定会有这么一个需求,就是在资讯内容页的下方需要给出上一篇和下一篇资讯的链接。上次我一同事兼好友兼室友就遇到了这么一个需求,一开始我们都把问题想复杂了,先取的是符合条件的资讯信息集合,然后再找到当前这条资讯信息在集合中的索引,通过索引再找到他的上一篇资讯和下一篇资讯信息,这种做法确实是可以实现这个需求,但是一旦资讯信息的数量过大,很有可能因为这段代码导致整个资讯内容页半...
阅读全文
pagehelper分页原理如何实现的? 默认分类 博主自留地

pagehelper分页原理如何实现的?

1.pagehelper原理 PageHelper做的是什么呢?它封装了分页的后台部分,说得更简单点,就是你不需要每个POJO类的增删改查里都包括那两个方法了,它帮你做了。你只需要有一个selectAll的方法,它会根据你使用的数据库来将你selectAll的sql改装成一个分页查询的sql,并顺带生成一个查询总数的sql。 1.1如何进行拦截的? 通常我们使用这个插件的 ,配置一个拦截器“...
阅读全文
咱们聊聊舱壁模式 默认分类 博主自留地

咱们聊聊舱壁模式

什么是舱壁模式 舱壁模式(Bulkhead)隔离了每个工作负载或服务的关键资源,如连接池、内存和CPU。 使用舱壁避免了单个工作负载(或服务)消耗掉所有资源,从而导致其他服务出现故障的场景。 这种模式主要是通过防止由一个服务引起的级联故障来增加系统的弹性。 工业中使用舱壁将船舶划分为几个部分,以便在船体破坏的情况下,可以将船舶各个部件密封起来。 舱壁的概念在软件开发中可以被应用在隔离...
阅读全文
咱们来聊聊快速失败和安全失败 默认分类 博主自留地

咱们来聊聊快速失败和安全失败

 一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。 原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。 集合在被遍历期间如果内容发生变化,就会改变modCount的值。每当迭代器使用hashNex...
阅读全文
百万数据的对账优化 默认分类 博主自留地

百万数据的对账优化

写在前面 最近线上的对账程序一直不稳定,经常出现对账时间超长,影响结算跑批任务,导致后续业务受影响。 原来的流程 系统订单量不大的情况下可以这样子处理没有什么异常问题,随着系统订单的增长,对账时间不断增长,远远超过我们能忍的极限,比如说:到早上还没有对帐完,影响第二天出结算单的时间,不能做到财务T+1结算。极大的阻碍了业务的正常发展。 优化后的流程 优化思路大概分为以下几步: ...
阅读全文
详解Spring Retry实现原理 默认分类

详解Spring Retry实现原理

本文通过一个简单的例子演示Spring Retry的实现原理,例子中定义的注解只包含重试次数属性,实际上Spring Retry中注解可设置属性要多的多,单纯为了讲解原理,所以弄简单点,关于Spring Retry可查阅相关文档、博客。 注解定义 package org.java.base.springretry; import java.lang.annotation.*; ...
阅读全文
重试利器之Guava-Retryer 默认分类 博主自留地

重试利器之Guava-Retryer

写在前面 在日常开发中,我们经常会遇到需要调用外部服务和接口的场景。外部服务对于调用者来说一般都是不可靠的,尤其是在网络环境比较差的情况下,网络抖动很容易导致请求超时等异常情况,这时候就需要使用失败重试策略重新调用 API 接口来获取。重试策略在服务治理方面也有很广泛的使用,通过定时检测,来查看服务是否存活(Active)。 Guava Retrying是一个灵活方便的重试组件,包含了多种...
阅读全文
再谈优雅重试(retry)机制 默认分类 博主自留地

再谈优雅重试(retry)机制

业务场景 应用中需要实现一个功能: 需要将数据上传到远程存储服务,同时在返回处理成功情况下做其他操作。这个功能不复杂,分为两个步骤:第一步调用远程的Rest服务逻辑包装给处理方法返回处理结果;第二步拿到第一步结果或者捕捉异常,如果出现错误或异常实现重试上传逻辑,否则继续逻辑操作。 解决方案演化 这个问题的技术点在于能够触发重试,以及重试情况下逻辑有效执行。 解决方案一:try-catch-...
阅读全文
再谈幂等机制 默认分类 博主自留地

再谈幂等机制

一、什么是幂等性? 幂等性(Idempotence)。在HTTP/1.1规范中幂等性的定义是: Methods can also have the property of "idempotence" in that (aside from error or expiration issues) the side-effects of N > 0 identical requests is...
阅读全文
在撩系统的限流特技 默认分类 博主自留地

在撩系统的限流特技

为什么要限流? 每个系统都有服务的上线,所以当流量超过服务极限能力时,系统可能会出现卡死、崩溃的情况,所以就有了降级和限流。限流其实就是:当高并发或者瞬时高并发时,为了保证系统的稳定性、可用性,系统以牺牲部分请求为代价或者延迟处理请求为代价,保证系统整体服务可用。 限流主要限制请求流量,保证当前服务、依赖服务不会被大流量彻底压死 限流方式 限制总并发数(比如数据库连接池、...
阅读全文
一个软件公司搭建开发环境的步骤 默认分类 博主自留地

一个软件公司搭建开发环境的步骤

一、开发语言  一般来说,技术人员(程序员)创业都是根据自己技术背景选择自己最熟悉的语言,不过考虑到不可能永远是您一个人写程序,这点还得仔细想想。无论用什么语言,最终代码质量是看管理,所以我们还是从纯语言层面来说实际一点。现在流行的java、php、.net、python、ruby都 有自己的优劣,python和ruby,现在人员还是相对难招一些,性能优化也会费些力气,.net平台买不起wind...
阅读全文
Loading...