“通过技术改造解决了困扰我们多时的尖峰高流量并发问题,让全国人民不再因为技术原因而抱怨,我们终于舒了一口气。PivotalGemFire分布式集群内存数据技术对整个技术改造发挥了关键的作用。同时,感谢Pivotal公司及其实施方项目团队的努力,在技术开改造过程中确保旧系统顺畅运行、旧系统到新系统平滑迁移,快速实现新系统的上线。”——中国铁道科学研究院电子计算技术研究所副所长朱建生   背景和需求 中国铁路客户服务中心网站(www.12306.cn)是世界规模最大的实时交易系统之一,媲美Amazon.com,节假日尤其是春节的访问高峰,网站压力巨大。据统计,在2012年...

前言 之前聊了客户端的一些功能,例如融入Spring,@value注解的自动刷新实现,长轮询等,这次从客户端的整体设计来聊聊。 设计 上图是client项目的包结构。 其中,核心包就是internals包,包含了客户端的主要功能逻辑。主要有以下功能:0.获取ConfigService服务的远程配置。 长轮询/定时轮询ConfigService。 监听机制——更新后,立即通知应用程序。 兼容Spring各个版本(这个是在spring包中,但我认为也算重要功能 ^_^)。 首先说第一个功能:获取ConfigService服务的远程配置: 实现此功能的类为:RemoteConfigR...

  MySQL往数据库插时间格式的数据时,只保存年月日,不保存时分秒。今天在写项目时候,需要将数据insert到数据库中。但是,看到插入数据库中的时间只有年月日,没有时分秒。   查看实体类没毛病   查看xml文件也没有问题     timestamp和datetime区别:   最后经过排查发现问题所在: 建表时候将字段类型datetime写成date了,导致插入的数据没有时分秒:因为: DATE()日期。格式:YYYY-MM-DD注释:支持的范围是从‘1000-01-01’到'9999-12-31 DATETIME()...

  JNDI就像你通过114电话找人一样,如果他还没有和你建立联系的话(建立联系就是保存一份对象的引用,如果两个对象彼此没有创建另外一个而且也没有被中间的第三方建立这种关系问题就出现了),请问你如何和他打交道?现实中是:a.我们拨通114   Java中:Contextctx=newInitialContext();b.请问哪里有通马桶的?114答,xxx...为您转接中,请稍候。   Java中:DataSourceds=(DataSource)ctx.lookup("便民服务公司");c.过了一会儿,人来了,你说:师付,...

  01BFOGI7NzGp   2023年12月19日   16   0   0 数据源数据库数据源bc数据库bc

  Serverless资源弹性扩缩触发条件 资源弹性扩展触发条件 纵向扩展触发条件PolarDB主要监控主节点和只读节点的CPU使用率、内存使用率和其他内核层面指标。在监控周期内,出现如下三种情况中的任意一种时,通常会触发Serverless资源纵向扩展: 当单节点的CPU使用率高于80%,会触发本节点资源扩展。 当单节点的内存使用率高于90%,会触发本节点资源扩展。 当只读节点的规格小于主节点规格的一半时,会触发只读节点资源扩展。例如,当只读节点的规格是4PCU,主节点的规格是10PCU时,会触发只读节点资源扩展到不小于5PCU的规格。 横向扩展触发条件当只读节点已经纵...

  JavaAgent概述 JavaAgent是一种特殊类型的软件组件,它允许在Java虚拟机(JVM)运行时修改应用程序的字节码。这种技术通常用于性能监控、日志记录、系统调试等。JavaAgent主要分为两类: 1.启动时加载的Agent(Pre-MainAgent) 这种类型的Agent在应用程序的主方法(main)执行之前加载。它们通常用于在应用程序启动时进行一些预处理,例如初始化日志框架、植入一些监控代码等。 如何实现: 在Agent代码中,你需要实现一个带有特定签名的premain方法。这个方法是由JVM在启动时自动调用的。 premain方法的签名必须是:publics...

  01BFOGI7NzGp   2023年12月12日   18   0   0 Javajava字节码字节码

    alias与root的区别 root  实际访问文件路径会拼接URL中的路径 alias  实际访问文件路径不会拼接URL中的路径 示例如下: location^/sta/{ alias/usr/local/nginx/html/static/; } 请求:http://test.com/sta/sta1.html 实际访问:/usr/local/nginx/html/static/sta1.html文件 location^/tea/{ root/usr/local/nginx/html/; } 请求:ht...

  01BFOGI7NzGp   2023年12月12日   58   0   0 正则htmlnginxhtmlnginx正则

  ffmpeg-itest.m4a-y-acodeclibmp3lame-aq0"test.mp3" 这是一个使用ffmpeg命令行工具将test.m4a文件转换为test.mp3文件的命令。具体解释如下: -itest.m4a:指定输入文件为test.m4a。 -y:覆盖输出文件,如果已存在同名文件,则自动覆盖。 -acodeclibmp3lame:设置音频编码器为libmp3lame,这是一种常用的MP3编码格式。 -aq0:设置音频质量为最高,数值越小,音质越差。这里设置为0表示最高质量。 "test.mp3":指定输出文件为test.mp3。   数据搬运 ...

  01BFOGI7NzGp   2023年12月12日   24   0   0 3gideXMLide3gxml

  出现乱码代码 @Override protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //1.获取字符输出流 PrintWriterpw=response.getWriter(); pw.write("你好response"); }   问题分析出现问题这样的问题的原因是浏览器默认的为我们系统使用的字符集,一般默认为GBK,而PrintWriter对象是我们从response获取而来的,而服务器默...

一、问题描述近期在进行日常巡检时发现,线上部分应用服务器的CPU突然比以往高出很多,经过登录机器排查确认是C2CompilerThread9线程始终长时间运行消耗了CPU。 排查步骤在上篇博文有记录总结,地址:排查CPU异常步骤_u012538947的专栏 异常线程的堆栈如下: "C2CompilerThread9"48daemonprio=9os_prio=0tid=0x00007f45f0b80000nid=0x188runnable[0x0000000000000000]java.lang.Thread.State:RUNNABLE补充描述:我的应用类型为后台接口服务,系统秒级调用峰值在...

  01BFOGI7NzGp   2023年12月12日   20   0   0 编译器JVM编译器Javajvmjava

      SLA服务等级协议 SLA全称Service-LevelAgreement,直译为“服务等级协议”,用来表示提供服务的水平。 在IT中,SLA可以衡量平台的可用性,下面是N个9的计算: 1年=365天=8760小时 99=87601%=>3.65天 99.9=87600.1%=>8.76小时 99.99=87600.01%=>52.6分钟 99.999=87600.001%=>5.26分钟 因此,全年只要发生一次较大规模宕机事故,4个9肯定没戏,一般平台3个9差不多。但2个9就基本不可用了,相当于全年有87.6小时不可用...

  01BFOGI7NzGp   2023年12月04日   16   0   0 IT商业响应时间IT响应时间商业

  问题解决了,但是问题背后的问题,还没有得到解决: MonitorCtrl-Break线程是啥?它是怎么来的? 我们先jstack一把看看线程堆栈呗。 而在idea里面,这里的“照相机”图标,就是jstack一样的功能。     我把程序恢复为最初的样子,然后把“照相机”就这么轻轻的一点:   从线程堆栈里面可以看到MonitorCtrl-Break线程来自于这个地方: com.intellij.rt.execution.application.AppMainV2$1.run(AppMainV2.java:64) 而这个地方,一看名称,是idea的...

  01BFOGI7NzGp   2023年12月04日   9   0   0 System客户端客户端javaSystemJava

  我们在connect时常常遇到connectiontimeout这种错误,如果你仔细去观察,会发现connecttimout分两种情况, Causedby:java.net.ConnectException:Operationtimedout(Connectiontimedout) 另外一种是: Causedby:java.net.SocketTimeoutException:connecttimedout 那这两种timeout有什么区别?分别在什么情况下会发生? 首先无论是哪种语言,不管是客户端还是服务端,在TCP编程中通常都可以为sock设置一个timeout时...

  01BFOGI7NzGp   2023年12月04日   16   0   0 应用层重传应用层TCPTCP重传

  背景 某一天,有一位同学在群里发来一张jmap-heap内存使用情况图。 说Survivor区占比总是在98%以上。     仔细观察这张图,其中包含几个重要信息: From和To区都比较小,只有10M。容量比较小,才显得占比高。 Old区的占比和使用量(两个多G)都比较高。 此外,还可以看到Eden、From、To之间的比例不是默认的8:1:1。 于是,立马就想到AdaptiveSizePolicy。 经群友的确认,使用的是JDK1.8的默认回收算法。 JVM参数配置如下:     参数中没有对GC算法进行配置,即使用默认的Use...

  01BFOGI7NzGp   2023年12月02日   15   0   0 老年代CMS缓存缓存老年代CMS

    每次打开IDEA都会indexing好半天,大一点的项目要几个小时,很是搞人心态。   解决办法:IntelliJIDEA->Preferences...  直接搜索index   然后旁边两个选项都选择Don’tdownload,uselocalindexes 亲测有用!

  01BFOGI7NzGp   2023年12月02日   15   0   0 搜索搜索

    线程池和连接池监控https://www.alibabacloud.com/help/zh/arms/application-monitoring/user-guide/thread-pool-monitoring  

  01BFOGI7NzGp   2023年12月02日   15   0   0 连接池线程池线程池连接池

    目录如下: 什么是JVM的堆 是不是所有的Java对象都放在堆上? 线程和堆的关系 堆的内部结构 面试题 新生代与老年代 如何设置堆的大小? 新生代与老年代的比例 设置Eden、幸存者的比例 常用参数 对象分配 金句: 分配过程 内存分配策略(或对象提升(promotion)规则): 对象分配原则 MinorGC、MajorGC、FullGC MinorGC触发机制 老年代GC(MajorGC/FullGC)触发机制: FullGC触发机制: OOM如何解决 为什么需要把Java堆分代?不分代就不能正常工作了吗? 什么是TLAB(快速分配策略)? 为什么有TLAB...

  01BFOGI7NzGp   2023年12月01日   17   0   0 JVMjavaJavajvm老年代老年代

  具有HeapProfiler功能的工具,如mat(memoryanalysetool)、GoogleHeapProfiler、JProfiler等,经常会出现shallowheap与remainderheap,这两个词在我们的实际开发中基本没有出现过,那么我们在用mat解析dump出来的Java内存文件时,出现的这两个词究竟是什么意思呢? shallowheap shallowheap是对象本身的大小,不包括其引用的对象。对于非数组类型:shallowheap就是对象与其成员变量加在一起的大小。对于数组类型:shallowheap就是数组各个元素大小之和。 remainderhe...

    问题现象 7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存。看了下其它服务,同样的堆内存配置,它们内存占用约70%79%,此服务比其它服务内存占用稍大。 那为什么此服务内存占用稍大呢,它存在内存泄露吗? 排查步骤 1.检查Java堆占用与gc情况 jcmd1GC.heap_info image_2023-08-26_20230826175746 jstat-gcutil11000   可见堆使用情况正常。 2.检查非堆占用...

  01BFOGI7NzGp   2023年12月01日   18   0   0 JVM虚拟内存jvmbc虚拟内存bc

  如果你检查你的Linux系统上运行的进程,你可能会对一个叫做“kerneloops”的进程感到好奇。提示一下,它是“kerneloops”,而不是“kerneloops”。 坦率地说,“oops”是Linux内核的一部分出现了偏差行为。你有做错了什么吗?可能没有。但有一些不对劲。而那个做了错事的进程可能已经被CPU结束。最糟糕的是,内核可能会报错并突然关闭系统。 请注意,“oops”不是首字母缩略词。它不代表像“面向对象的编程和系统object-orientedprogrammingandsystems”或“超出程序规范outofproceduralspecs”之类的东西。它实际...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~