`
lxy2520
  • 浏览: 6396 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
啥也不说了,直接上代码,看怎么用的 package unit; import com.linkage.bss.crm.asynlaunch.ALSwitch; import com.linkage.bss.crm.asynlaunch.AsynItem; import com.linkage.bss.crm.asynlaunch.AsynLaunch; import com.linkage.bss.crm.monitor.BTask; import com.linkage.bss.crm.monitor.ListenerMonitors; import com.linkage. ...
什么都不说了,直接上代码,相信你能懂的 public class Singleton { private Singleton(){} private static class SingletonHolder{ static Singleton instance = new Singleton(); } public static Singleton getInstance(){ return SingletonHolder.instance; } } 测试 public class TestSingleton { pub ...
分布式环境日志收集 林小应 1. 问题描述 现在应用程序的日志都是error级别,如果想收集某接口日志只能入库。 如果选择性的根据工号打开debug日志,也会散落在应用集群中的各台主机上。查看起来十分不方便。 2. 期望 可以选择性的将有用日志,通过tcp的方式送到日志处理主机。集中处理,处理方式由客户端定义。不能因为发送日志而影响应用程序的性能。 3. 设计原理 思路:采用异步的nio的方式将日志送出,集中处理。满足网络震荡重连(无条件重连、触发式重连)。 方案:采用异步缓冲区+Netty来完成日志推送。 4.用法示例 //建立连接(只需要一个连接): N ...
基于Memcached的开关机制 林小应 1. 问题描述 如果,应用系统需要调用远程服务,且现在有两个版本的服务, newService和oldService。怎样在不停应用的情况下实现动态切换呢? 如果将service的url放进数据库也是一个办法,但放到哪一个数据库呢,我们的数据库是分布式多库。 答案是:可以放到Memcached中! 2. 期望 能实时、方便的改变应用系统中的变量值 3. 设计原理 在应用系统中定义一个变量名称,再启动一个线程,不断扫描MC,获取该变量的值。 如果想要改变应用系统中的变量值,只需要改变MC中的值就可以了。 我们的具体 ...
基于LRU算法的缓存实现 林小应 1. 问题描述 业务系统中,可能会用到很多规格数据。如果每次都从数据库读取,开销是很大的。一次业务操作,可能会取几千次,甚至更多。如通信、银行、证券等系统的规则校 ...
高速异步缓冲区 林小应 1. 问题描述 有一封信要寄出去,你不会傻到自己送过去吧,写上地址、投进街边邮筒就可以了,自己继续干其他事情。 KFC把送外卖的事情都交给了宅急送。如果自己干,一天还能卖几个 ...
获取数据库序列 林小应 1.问题描述 由于业务需要,应用程序中很多地方会用到数据库序列sequence,如果每次都去数据库获取,会比较耗时。 在Java代码中,我们通常调用存储过程或执行sql生成一个sequence,如 select xxx.nextnvl from dual; 如果直接调用存储过程或执行sql取sequence,算上事务开销,一次需要3~4ms。在大型分布式系统中(如江苏电信的营业系统、淘宝网、大型社交网站),4ms将是一个很大的开销,试想如果需要的序列已经存储在于内存中,平均每次取 ...
获取数据库时间 林小应 1. 问题描述 我们在应用程序中会用到当前时间:JVM虚拟机的时间 和 数据库的系统时间 两种。 虚拟机时间: System.currentTimeMillis(); 或者new Date()。 获取系统时间:select sysdate from dual; 而在应用程序中调用上面的sql,容易造成数据库拥塞。而且其本身效率也很低,加上事务的开销,一次访问大约在3~4ms左右。 2. 期望 我们希望获取系统时间,每次访问低于0.1ms。就像在Java代码中调用System.currentTime ...
在高并发的分布式系统中,加入缓存机制可以很大的提高性能。最近做的XX省的电信BSS项目中就用到了Memcached,系统中将查询到的结果缓存到Memcached 中(下面称MC好了)。对于配置类的规格数据,是不经常改变的。在MC中的命中 ...
Global site tag (gtag.js) - Google Analytics