- 浏览: 358517 次
- 性别:
- 来自: 北京
最新评论
-
liulehua_123:
...
使用netty+spring搭建游戏框架 -
heng123:
netty等视频java.5d6b.com教程
使用netty+spring搭建游戏框架 -
di1984HIT:
、
redis 主从同步配置方案 -
di1984HIT:
学习了~~
使用netty+spring搭建游戏框架 -
di1984HIT:
不错,学习了~~
征服flume之三——使用log4j输出日志到flume
文章列表
使用 Netty 进行 UDP 网络编程
在正式开始之前,首先介绍一下TCP和UDP协议。对于做过网络开发的朋友来说,这两个协议应该都不陌生,在此仅摘录网上对两个协议的介绍给大家,仅供参考。
TCP与UDP区别
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去, ...
一、 java NIO简介
nio是java New IO的简称,在jdk1.4里提供的新api。Sun官方标榜的特性如下:
为所有的原始类型提供(Buffer)缓存支持。
字符集编码解码解决方案。
Channel:一个新的原始I/O抽象。
支持锁和内存映射文件的文件访问接口。
提供多路(non-bloking)非阻塞式的高伸缩性网络I/O。
关于java NIO的实现部分不是本文讨论的重点,有兴趣的朋友可以访问JAVA夜无眠的博客JAVA NIO 实例。
二、 NIO框架简介
在Java社区,最知名的开源Java NIO框架要属Mina和Netty。实际上,Nett ...
系统要求
docker需在CentOS7.0以上系统中
docker需安装在64位平台
安装步骤
1、更新yum
yum update
2、卸载旧版docker(如果有的话)
yum remove docker docker-common docker-selinux docker-engine
3、安装yum-utils,yum-utils提供yum-config-manager工具设置功能
yum install -y yum-utils
4、安装devicemapper驱动依赖
yum install -y device-mapper-persistent-data lvm2
5、设置d ...
一、 MySQL Workbench简介
MySQL Workbench为数据库管理员、程序开发者和系统规划师提供可视化的Sql开发、数据库建模、以及数据库管理功能。
二、 MySQL Workbench安装
官方下载地址:http://dev.mysql.com/downloads/workbench/
Windows下安装很简单 ...
Java编程规范
一、 命名约束
1. [强制] 代码中的命名均不能以下划线或美元符号开始,也不能一下划线或美元符号结束。
反例:_name / __name / $name / name_ / name$ / name__
2. [强制]代码中的命名不允许直接使用中文的方式,更不允许使用拼音与英文混合的方式。
反例:DaZhePromotion [打折] / getPingfenByName() / int 某变量 = 3
3. [强制]类名使用UpperCamelCase风格,但以下情形例外:DO / BO / DTO / VO 等
正例:MarcoPolo / UserDO / XmlSe ...
CountDownLatch介绍
CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。在一些应用场合中,需要等待某个条件达到要求后才能做后面的事情;同时当线程都完成后也会触发事件,以便进行后面的操作。 这个时候就可以使用CountDownLatch。
本文主要介绍CountDownLatch的一个具体使用——字符串敏感字过滤。字符串敏感字过滤是一个常用的功能点,这里使用的敏感字过滤方法主要参考 敏感词过滤算法实现这边博客。而使用CountDownLatch的主要目的是为了提高敏感字过滤的效率。
//将字符串按照每1024个 ...
producer
public class KafkaServiceImpl implements KafkaService {
private Producer<byte[], byte[]> inner;
private Properties properties;
public void setInner(Producer<byte[], byte[]> inner) {
this.inner = inner;
}
public void setProperties(Properties properties) ...
第一次研究有关web端的框架,结合工作需要,决定搞一个基于websocket+protobuffer的聊天demo。闲话少叙,上干货!
关于jquery mobile
jQuery Mobile 是用于创建移动 Web 应用的前端开发框架。
jQuery Mobile 可以应用于智能手机与平板电脑。
jQuery Mobile 使用 HTML5 & CSS3 最小的脚本来布局网页。
jquery mobile官网
作为移动web前端开发框架,是否有比jquery mobile更合适的框架,请各路大神指点!
关于websocket
WebSocket protocol 是HTML ...
一、准备工作
jdk(jdk1.7.0_65.zip)
Maven(apache-maven-3.1.1-bin.tar.gz)
tomcat(apache-tomcat-7.0.64.tar.gz)
jenkins.war
二、安装jdk、maven、tomcat
2.1 jdk
将 jdk1.7.0_65.zip 解压到 /usr/local/jdk1.7.0_65
修改环境变量
vim /etc/profile
添加java环境
JAVA_HOME=/usr/local/jdk1.7.0_65
JRE_HOME=/usr/local/jdk1.7.0_65/jre
PATH=$P ...
Linux下SSH免密码登录(root)
- 博客分类:
- linux
配置主机A无密码登录主机A,主机B
eg:
A:192.168.113.181
B:192.168.113.182
在主机A上执行如下:
1. $ssh-keygen -t rsa -P '' --------------------然后一直按回车键,就会按照默认的选项将生成的密钥保存在.ssh/id_rsa文件中
2. ssh-copy-id -i id_rsa.pub root@192.168.113.182
只需要简单的两步,就可以实现啦!
测试一下:
[root@localhost .ssh]# ssh 192.168.113.182
Last login: Tue ...
1、安装
(1)查看是否安装
yum list installed mysql*
(2)查看现有安装包
yum list mysql*
(3)安装mysql服务器端
yum install mysql-dev
yum install mysql-server
(4)安装mysql客户端(可选)
yum install mysql
2、配置
(1)设置默认字符和引擎
vim /etc/my.cnf
在[mysqld]下添加
default-character-set=ut ...
主动发起关闭TCP链接端状态转换图
上图是tcp连接主动关闭端的状态转换图:
(1)应用层调用close函数发起关闭连接请求
(2)发送FIN到对端,关闭写通道,自己进入FIN_WAIT1状态
(3)等待对端的确认ACK到来,接受到ACK后进入FIN_W ...
https://raw.github.com/twitter/twemproxy/master/notes/redis.md
Keys Command
Command Supported Format
DEL Yes DEL key key … ...
twemproxy的配置信息填写在nutcracker.yml之中,默认的查找位置是在conf目录下,也可以通过-c参数指定。
nutcracker.yml的例子:
redis1:
listen: 10.18.129.48:11299
redis: true
hash: fnv1a_64
distribution: ketama
auto_eject_hosts: true
timeout: 400
...
根据以往的测试结论,单个redis的实例的内存总量最好控制在8G以内(最大不能超过20G),而实际上应用对redis的内存的需求可能会远远大于8G,因此需要一个保持redis server性能不下降,但可以有效扩充redis server的容量的方案。
twemproxy是一个恰当的选择。
简介
twemproxy,也叫nutcraker。是一个twtter开源的一个redis和memcache代理服务器。
特点
• 支持失败节点自动删除
• 支持设置HashTag
• 减少与redis的直接连接数
• 自动分片到后端多个redis实例上
• 避免单点问题
• 可以平行部署多个代理层. ...