
java
Maugs_Luyao
业余程序猿,知名段子手
展开
-
sienna延时任务队列
1.应用场景目前系统中有很多需要用到延时处理的功能:支付超时取消、排队超时、短信、微信等提醒发送、token刷新等等。通过延时处理,极大的节省系统的资源,不必轮询数据库处理任务。大部分功能目前通过定时任务完成,定时任务还分使用quartz及xxljob两种类型轮询时间短,每秒执行一次,对数据库造成一定的压力,并且会有1秒的误差。轮询时间久,如30分钟一次,会造成30分钟的误差,例:轮询时3:00执行一次轮询,3.01插入一条数据,正常3:31执行过期,但是3:30执行轮询时,是扫描不到的,需要4:0原创 2022-04-02 16:43:35 · 2636 阅读 · 0 评论 -
微服务架构中组件的原理和分析(注册中心)
eureka:并不是像zookeeper、redis、mysql这些分布式架构的master-slave架构体系,每一个server节点间都是平级的。每个server都会向其他server注册自己,但是不会拉取原创 2021-07-02 18:03:44 · 199 阅读 · 0 评论 -
微服务架构中组件的原理和分析(fegin)
首先feign也是通过调用了ribbon的负载均衡器实现了server地址的映射和负载均衡通过增加EnableFeignClients 开启feign然后引入了FeignClientRegister->registerDefaultConfiguration 扫描注解FeignClient->registerFeignClients->FeignClientFactoryBean会将FeignClient注解的类信息交给工厂类生成代理bean注册到spring容器中总结就是原创 2021-07-02 11:50:45 · 246 阅读 · 0 评论 -
微服务架构中组件的原理和分析(ribbon)
负载均衡及获取服务地址的组件:一般默认于eureka集成在一起,可以配置成nacos其他服务注册中心一起使用。默认集成在了feign中,自己单独使用,需要使用spring cloud提供的RestTemplate方法调用服务,并且增加@loadBalance注解过程:首先spring boot启动时,会自动装配ribbon的配置,RibbonAutoConfiguration->LoadBalancerAutoConfiguration:会自动扫描包含loadBalance注解的RestT原创 2021-07-02 11:41:34 · 379 阅读 · 0 评论 -
微服务架构中组件的原理和分析(hystrix)
hytrix:处理过程:hystrix 可以配置一个窗口期,比如10S,请求失败率,请求失败数,在这个窗口期内,失败或超时达到设置的比例或者数量会开启熔断机制,开启熔断机制后,访问会直接走fallback方法,经过另一个窗口期时间,可以配置,会将断路器设置成半闸模式,允许一个请求通过,如果成功,关闭断路器,失败的话,继续打开断路器,并等待下一个窗口期,继续开启半闸模式。如果断路器未打开,也可能造成失败:当请求进来时,判断完断路器的打开关闭后,下一步会进行判断 线程或者信号量是否满,这个可以配置h原创 2021-07-02 10:03:30 · 222 阅读 · 0 评论 -
pinpoint安装踩坑记录
先介绍两个命令netstat -ntlp 查看系统打开的端口ss -nlp | grep 999 查看 包含999数字的端口情况一般安装步骤按照网上教程,我使用的war包,这里给出每个步骤的注意事项和配置项安装hbase:在hbase-env.sh中配置hbase需要使用jdk路径和是否自己管理zookeeper在hbase-site.xml配置hbase数据存储...原创 2019-07-12 09:34:31 · 2937 阅读 · 0 评论 -
java对视频进行转码
这里有两个方案:1.利用国外一个大佬写的jar包jave,里面集成了ffmpeg,目前源码应该是更新到1.0.2,看了下源码应该发现,这个功能还是非常强大的,如果不需要转码,只需要获取下图片,视频信息,更是方便= = 。 JAVE(Java Audio Video Encoder),是一个包涵ffmpeg项目库。开发这可以运用它去实现音频(Audio)与视频(Video)文件的转码。例如你要...原创 2018-06-15 14:00:07 · 20082 阅读 · 4 评论 -
struts2与freemarker国际化操作
struts2 自带一个拦截器<interceptor name="i18n" class="com.opensymphony.xwork2.interceptor.I18nInterceptor"/>源码简单分析下:I18nInterceptor.CookieLocaleFinder localeFinder = new I18nInterceptor.CookieLocaleFin...原创 2018-04-27 10:53:28 · 427 阅读 · 0 评论 -
struts2的properties文件中,各个属性的解释
转自http://blog.knowsky.com/183632.htm指定加载struts2配置文件管理器,默认为org.apache.struts2.conig.DefaultConfiguration开发者可以自定义配置文件管理器,该类要实现Configuration接口,可以自动加载struts2配置文件。指定加载struts2配置文件管理器默认为org.apache.struts2.co...转载 2018-04-27 10:44:14 · 917 阅读 · 0 评论 -
Caused by: org.apache.solr.common.SolrException: Index locked for write for core XXX 异常解决
Caused by: org.apache.solr.common.SolrException: Index locked for write for core XXX at org.apache.solr.core.SolrCore.<init>(SolrCore.java:821) at org.apache.solr.core.SolrCore.<init&...原创 2018-04-26 18:37:46 · 1648 阅读 · 0 评论 -
jenkins的简单使用
1.安装这里直接使用安装包,安装过程很简单,这里就再说明了。安装后自动创建了一个windows服务:Jenkins,默认使用的端口是8080,如果需要修改,打开安装目录下的jenkins.xml文件,修改 -Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenki转载 2017-08-29 09:34:13 · 336 阅读 · 0 评论 -
java的三种实现定时任务的方法
/** * 普通thread * 这是最常见的,创建一个thread,然后让它在while循环里一直运行着, * 通过sleep方法来达到定时任务的效果。这样可以快速简单的实现,代码如下: * @author GT * */ public class Task1 { public static void main(String[] args)转载 2017-09-05 09:43:08 · 390 阅读 · 0 评论 -
java反射
反射:也就是说,在编译时,你获取了一个指向某个并不存在你的程序空间中的对象的引用;事实上在编译时你的程序无法获知这个对象所属的类. Java附带的库java.lang.reflect包含了:FIeld,Method,Constructor类.这些类型的对象是由jvm在运行时创建的,用以表示未知类里对应的成员.你就可以使用Constructor创建新的对象,用get()和set()方转载 2017-03-29 13:17:34 · 192 阅读 · 0 评论