基于Spring Cache实现Caffeine、jimDB多级缓存实战
在早期参与涅槃氛围标签中台项目中,前台要求接口性能999要求50ms以下,通过设计Caffeine、ehcache堆外缓存、jimDB三级缓存,利用内存、堆外、jimDB缓存不同的特性提升接口性能,内存缓存采用Caffeine缓存,利用WTinyLFU算法获得更高的内存命中率;同时利用堆外缓存降低内存缓存大小,减少GC频率,同时也减少了网络IO带来的性能消耗;利用JimDB提升接口高可用、高并发;后期通过压测及性能调优999性能<20ms
Wesley13 Wesley13
3年前
java代码跨域通用方法
/通用的跨越调接口方法@parampath请求的url路径@return/publicstaticStringgetHttpResponse(Stringpath){try{URLurlnewURL(path);HttpURLConnectionconn
DevOpSec DevOpSec
2年前
Kafka——彻底删除Topic
一、配置server.properties 设置delete.topic.enabletrue如果没有设置delete.topic.enabletrue,则调用kafka的delete命令无法真正将topic删除,而是显示(
Stella981 Stella981
3年前
Hi,给他介绍一款markdown的帮助文档生成器
     当今大多数的团队都实现了前、后端分支。前端与后端的沟通都是通过接口来实现的(一般情况下都是webapi接口)。这种情况你肯定需要一个接口查询的帮助文档,这个当然用swagger都可以实现。但做为前端开发的我们是否也应该考虑把自己写的组件以帮助文档的方式公开都团队其他人员使用。就像iview,easyui等UI组件都有自己的帮助文档。今天我们都介绍
Stella981 Stella981
3年前
Linux安装JDK完整步骤
1、检查一下系统中的jdk版本root@localhostsoftwarejavaversion显示:openjdkversion"1.8.0_102"OpenJDKRuntimeEnvironment(build1.8.0_102b14)OpenJDK64BitServer
Stella981 Stella981
3年前
Centos7 安装MySql8
1、查看是否安装mariadbrpmqa|grepmariadb显示:mariadblibs5.5.562.el7.x86\_642、卸载mariadbrpmenodepsmariadblibs5.5.562.el7.x86_643、安装mysql依赖包yuminstal
Stella981 Stella981
3年前
IBatis Mapper&Spring Data JPA实现原理
   因为我们最近的一个项目数据库访问呢层使用Ibatis, 今天团队成员问Ibatis中只写接口,不写实现,Ibatis是如何帮助我们查询数据。其实原理很简单,就是Java的反射和代理,因为Java的代理是真对于接口的。所以我们就可以在开发中DAO模块就直接写接口和对用的SQL就可以。实现类由我们生成代理,当代理方法被调用的时候我们就使用通用的数据库
Wesley13 Wesley13
3年前
Java中使用HTTP阻塞式调用服务器API
应用场景:前端页面点击刷新,调用服务器A上Java接口,然后A调用服务器B的后台Python接口实时刷新后台数据库。在这个场景中会涉及到两个问题:异步,Python服务器压力(一)解决Python服务器压力如果Python服务器接口不做任何措施,那么可能会有恶意的访问,从而导致该服务器一直刷新后台数据库。我的解决方式是:服务器B会提供一串字符
Stella981 Stella981
3年前
Play Scala 开发技巧
在系统开发中,我们经常需要保护一些安全性较高的接口,限制这些接口每秒处理的请求数量。例如对于一个计算密集型接口,假设压测值是100rps,如果实际情况长期高于这个值,则会引起滚雪球效应,最终导致系统崩溃。下面我们一起来看看如何在Play中实现一个完全异步非阻塞的请求限速?本文代码已提交至 playcommunity(https://www.os
绣鸾 绣鸾
2年前
Bartender 4 for Mac菜单栏图标管理软件
Bartender4是一款用于管理macOS系统状态栏图标的软件。它允许你自定义状态栏图标的显示和排序,帮助你更好地组织和管理你在状态栏中使用的应用程序和工具。通过Bartender4,你可以隐藏或显示状态栏图标,以避免状态栏过多的图标拥挤在一起。你可以通