- 浏览: 179970 次
- 性别:
- 来自: 北京
最新评论
-
khlee:
博主你好:我的服务端已经搭建完毕,但是客户端调用一得不到结果, ...
淘宝JAVA中间件Diamond详解(一)---简介&快速使用 -
zhangzhj85:
我很奇怪这个直接用zookeeper不是很好。
淘宝JAVA中间件Diamond详解(一)---简介&快速使用 -
跨界_IT:
[b][/b]
JAVA Memcached 安装与简单实战(windows) -
xcl1025:
好资源,好案例,不过官网上的tag包怎么用啊,是在看不懂官网 ...
JAVA Memcached 安装与简单实战(windows) -
lizhiqingli:
各种客户端:http://code.google.com/p/ ...
Memcached集群/分布式的单点故障
文章列表
转:http://blog.csdn.net/cutesource/article/details/5864562
在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的时候,会显得非常笨拙。一般的做法会用原生态的方式去解析定义好的xml文件,然后转化为配置对象,这种方式当然可以解决所有问题,但实现起来比较繁琐,特别是是在配置非常复杂的时候,解析工作是一个不得不考虑的负担。Spring提供了可扩展Schema的支持,这是一个不错的折中方案,完成一个自定义配置一般需要以下步骤:
设计配置属性和JavaBea ...
Thrift入门及Java实例演示
- 博客分类:
- 分布式
转自:http://www.micmiu.com/soa/rpc/thrift-sample/
目录:
概述
下载配置
基本概念
数据类型
服务端编码基本
自己笔记:
Map的遍历,KeySet,与EntrySet在高并发情况下差别还是非常大的,KeySet还需要再次GetValue,EntrySet可以直接获取到Key与Value。
转:http://maoyidao.iteye.com/blog/1744277
面试时看到应聘者简历中写精通网络,TCP编程,我常问一个问题,TCP建立连接需要几次握手?95%以上的应聘者都能答对是3次。问TCP断开连接需要几次握手,70%的应聘者能答对是4次通讯。再问CLOSE_WAIT,TIME_WAIT是什么状态,怎么产生的,对服务有什么影响,如何消除?有一部分同学就回答不上来。不是我扣细节,而是在通讯为主的前端服务器上,必须有能力处理各种TCP状态。比如统计在本厂的一台前端机上高峰时间TCP连接的情况,统计命令:
Linux shell代码
...
Socket/TCP粘包、多包和少包, 断包
- 博客分类:
- NIO
转:
为什么TCP 会粘包
前几天,调试mina的TCP通信, 第一个协议包解析正常,第二个数据包不完整。为什么会这样吗,我们用mina这样通信框架,还会出现这种问题? 带者问题,我们先分析一下问题。 提到通信, 我们面临都通信协议,数据协议的选择。 通信协议我们可选择TCP/UDP:
TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小 ...
NIO 的ServerSocketChannel
- 博客分类:
- NIO
转:
Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中。
这里有个例子:
(转)
Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络 ...
Memcached源码分析(线程模型)
- 博客分类:
- Memcached
(转)
目前网上关于memcached的分析主要是内存管理部分,下面对memcached的线程模型做下简单分析 有不对的地方还请大家指正,对memcahced和libevent不熟悉的请先google之 先看下memcahced启动时线程处理的流程 memcached的多线程主要是通过实例化多个libevent实现的,分别是一个主线程和n个workers线程 无论是主线程还是workers线程全部通过libevent管理网络事件,实际上每个线程都是一个单独的libevent实例
tcp协议timestamp字段导致问题分析
- 博客分类:
- linux
1.现象 不同主机C1,C2上的相同模块(开启timestamp),通过NAT网关(1个出口ip)访问同一服务S,主机C1 connect成功,而主机C2 connect失败
2.分析 根据现象上述问题明显和tcp timestmap有关;查看linux 2.6.32内核源码,发现tcp_tw_recycle/tcp_timestamps都开启的条件下,60s(timewai时间)内同一源ip主机的socket connect请求中的timestamp必须是递增的。
3.验证
server端当tcp_tw_recycle和tcp_timestamps都是1的时候,会检查收到数据包T ...
Linux VMstat
- 博客分类:
- linux
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如:
root@ubuntu:~# vmstat 2 1
procs ---------- ...
TCPDUMP 使用(转)
- 博客分类:
- linux
第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host.第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指 ...
Java问题处理思路
- 博客分类:
- JAVA
生产环境处理问题小结:
顺着上边的思路,我回家看了一些资料,资料表明当性能出现问题的时候无外乎从四个大的方面入手:CPU、内存、文件IO、网络IO。
我们可以使用TOP命令可以来分析当前CPU使用情况。在TOP中分别有:us、sy、wa、hi这4个指标,这4个指标分别代表是:
1、 cpu:应用消耗,当us高的时候一般是我们代码问题,比如代码中出现了象这次故障的死循环,或许还有可能是纯粹计算或者FullGC
Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。 @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属 ...
原文路径。
http://www.cnblogs.com/hoojo/archive/2011/04/22/2025197.html
Java 理论与实践: 用动态代理进行修饰
- 博客分类:
- JAVA
动态代理为实现许多常见设计模式(包括
Facade、Bridge、Interceptor、Decorator、Proxy(包括远程和虚拟代理)和 Adapter
模式)提供了替代的动态机制。虽然这些模式不使用动态代理,只用普通的类就能够实现,但是在许多情况下, ...