`
lixjluck
  • 浏览: 104593 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表

20110728

  参加了2个会 整理了《应用无状态》的4件事情 内容分发系统 日志syslog mount去除 应用服务器升级 听了一个分布式cache实现,里面考虑了很多点 通讯,大家都是基于mina或netty的nio,为了实现更高的性能 通讯协议(这里也叫它序列化协议),考虑很多:hessian\json\pb\thift\java default 数据一致性 一致性hash 分布式,及lb dynamic code evolution vm http://www.cnblogs.com/redcreen/archive/2011/06/14/208071 ...
在某个地方_endpoint.fill(buffer); 调用_channel.read(bbuf); 这里看一下SocketChannelImpl.read方法 然后调用IOUtil.read(fd, bytebuffer, -1L, nd, readLock);   if(bytebuffer instanceof DirectBuffer) return readIntoNativeBuffer(filedescriptor, bytebuffer, l, nativedispatcher, obj); bytebuffer1 = ...
DirectByteBuffer特性说明   Java 2 SE 6 doc : Given a direct byte buffer, the Java virtual machine will make a best effort to perform native I/O operations directly upon it. That is, it will attempt to avoid copying the buffer’s content to (or from) an intermediate buffer before (or after) each ...

Jetty的核心

Jetty的核心类 Server ThreadPool(有两个实现),见这里http://lixjluck.iteye.com/blog/1129558 SelectChannelConnector SelectorManager SelectSet SelectChannelEndPoint   HttpConnection(HttpInput,  HttpOutput,  HttpGenerator) Handler     Server启动过程  SelectChannelConnector初始化过程 open方法做了什么事情?   public ...
QueuedThreadPool的使用 jetty自己实现的thread pool     参数 描述 name 设置线程的名称,默认qtp-(thread id) maxThreads 最大启动的线程数 minThreads 默认启动的线程数 maxQueued 不设置,使用自增长的BlockingArrayQueue 设置,使用ArrayBlockingQueue 此Queue用来存放提交执行的runnable   使用自增长的BlockingArrayQueue,会导致jetty撑死。   ExecutorThrea ...
SelectChannelConnector可配置参数   基础参数,继承自AbstractConnector   参数 描述 name host port integralScheme integralPort confidentialScheme confidentialPort acceptQueueSize 对应到Socket.backlog requested maximum length of the queue of incoming connections. 小于1,默认为50 ...
Memcached(MC)目前遇到的问题 1、MC失效后,会引起雪崩效应,导致整个系统不可以(DB被拖垮了) 2、数据一致性(整个看起来不是个大问题) 3、运维,一般情况下都没用专门的系统支持   HandlerSocket(HS) 可以解决的问题: 1、结合了store+cache的功能,且物理在一起,就是说以前的cache这一层的机器,现在可以不用了 2、数据一致性 3、有专业的运维工具和团队(DBA?)   可能带来的问题 1、已经使用了MC的,需要迁移,工程还是很浩大(比如我们的会员数据是存放在oracle里的,迁移涉及分表分库) 2、需要一个数据访问中间件屏蔽 ...

Icacls windows命令

jboss中,开启jmx-console需要对*.properties文件授权,才可以启动   可以通过 Icacls 修改文件的权限   参考: http://technet.microsoft.com/en-us/library/cc753525(WS.10).aspx    
Leader/Follower相比较于普通的ThreadPool的优点 1、无需context switch,减少了线程间数据copy 2、无需维护一个队列,占用而外的内存空间   lf模式理解起来稍微有些困难,所以写了一个小的事例程序帮助自己理解   public class ThreadPoo ...

一些概念

Scalability Scale up (in) Scale down (out) HA-High Availability LB-load balancer SPOF-Single Point Of Failure Fault tolerance  Cluster Partitioning --Horizontal partitioning --Vertical partitioning
1、 最简单的,页面的《提交》按钮,在点击后(校验通过后)Disabled,这样用户就不会重复点击《提交》按钮; 2、 数据库表增加唯一性索引(比如memberId),这个只能解决一般(为什么一般,继续看)并发插入的问题; 如果两条一样的数据插入,只有一条会成功,另外一次插入失败; 3、 使用乐观锁,在Table里增加一个version int字段,这个可以保证更新操作的并发问题; Select version, .. from table1 where id=? //do biz Update set version=version+1 where id=? And version ...
0、准备和数据文件 比如有一个数据文件,只有一列(在之前可以通过各种手段过滤出只有数字这一列),比如操作的响应时间 490898 1189235 20212 1494270 146515 29369 23563 563027 22976 127809 16813 551646 18858 18977   1、求和 cat data|awk '{sum+=$1} END {print "Sum = ", sum}'    2、求平均cat data|awk '{sum+=$1} END {print "Average = &q ...

梦想+坚持=?

《小鲤鱼跳龙门》的故事相信很多人都听过的,不同阶段听,我想收获会不一样。 要不要再来看一次? 那就请静下心来,来几个深呼吸,花5分钟,我们一起来,再温习一下这个故事:   --小鲤鱼跳龙门-- 很久很久以前,在 ...
JVisualVM中提供了jconsole的插件,默认把它安装好后,发现不知道怎么用,打开jconsole Tab发现如下所示: 它提示我们已经安装好了JConsole插件,但是还要配置,配置什么呢?这个问题,我以前试过多次,不得其解,偶然一次机会,看到一篇文章,它是如下操作的: 在配置jconsole plugins的地方,Add jar,选择JDK_HOME/demo/managemnt/JTop/jtop.jar,确定。 然后,我们在jvisualvm重新打开tomcat,看到如下图:   发现jconsole里面有内容了,这个JTop是用来展现指定进程top thr ...
见如下链接PDF: http://docs.google.com/fileview?id=0B2AZBrgwR_PNNjhjODhiN2MtYzg1My00NGMzLWI5MzItOGE4YzdkMzdkMmFi&hl=zh_CN  
Global site tag (gtag.js) - Google Analytics