- 浏览: 168961 次
- 性别:
- 来自: 上海
-
最新评论
-
wangyudong:
由Spring Boot实现的微服务需要有比较好的工具去测试R ...
spring boot 启动 -
arsemilan:
很实用的sql,面试必备
sql 简单应用
文章列表
zookeeper原理(转)
- 博客分类:
- zookeeper
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookeeper的目的就在于此。本文简单分析zookeeper的工作原理,对于如何使用zookeeper不是本文讨论的重点。
1 Zookeeper的基本概念
1.1 角色
Zookeeper中的角色主 ...
spring Integration
- 博客分类:
- Spring
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.or ...
一、 Redis Sentinel简介
Redis Sentinel是redis自带的集群管理工具,主要功能有
• 监控(Monitoring): Redis Sentinel实时监控主服务器和从服务器运行状态。
• 提醒(Notification):当被监控的某个 Redis 服 ...
实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:
MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。
Memcached与MySQL数据库数据一致性问题。
Memcached数据命中率低或down机,大量访问直接穿透到DB,MySQL无法支撑。
跨机房cache同步问题。
众多NoSQL百花齐放,如何选择
最近几年,业界不断涌现出很多各种各样的NoSQL产品,那么如何才能正确地 ...
1.取最新N个数据的操作
–比如典型的取你网站的最新文章,通过下面方式,我们可以将最新的5000条评论的ID放在Redis的List集合中,并将超出集合部分从数据库获取
•使用LPUSH latest.comments<ID>命令,向list集合中插
持久化
•redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化,这是相对memcache来说的一个大的优势。redis支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另一种是Append-only file(缩写aof)的方式。
Snapshotting
快照是默认的持久化方式。这种方式将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。可以配置自动做快照持久 化的方式。我们可以配置redis在n秒内如果超过m个key被修改就自动做快照,下面是默认的快照保存配置save 90 ...
Redis由于支持非常丰富的内存数据结构类型,如何把这些复杂的内存组织方式持久化到磁盘上是一个难题,所以Redis的持久化方式与传统数据库的方式有比较多的差别,Redis一共支持四种持久化方式,分别是:
定时快照方式(snapshot)
基于语句追加文件的方式(aof)
虚拟内存(vm)
Diskstore方式
在设计思路上,前两种是基于全部数据都在内存中,即小数据量下提供磁盘落地功能,而后两种方式则是作者在尝试存储数据超过物理内存时,即大数据量的数据存储,截止到本文,后两种持久化方式仍然是在实验阶段,并且vm方式基本已经被作者放弃,所以实际能在生产环境用的只有前两种,换句话说R ...
一、综述本文比较了RMI、Hessian、Burlap、Httpinvoker、WebService5这种通讯协议的在不同的数据结构和不同数据量时的传输性能。RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。协议的规范公开,可以用于任意语言。Httpinvoker是SpringFramework提供的远程通讯协议,只能用于JAVA程序间的通讯,且服务端和客户端必须使用SpringFramework。Web service是连接异构系统或 ...
Java远程通讯可选技术及原理
- 博客分类:
- rpc
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什 ...
远程通讯协议的基本原理
网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 http 、 tcp 、 udp 等等, http 、 tcp 、 udp 都是在基于 Socket 概念上为某类应用场景而扩展出的传输协议,网络 IO ,主要有 bio 、 nio 、 aio
BigDecimal 运用小数
- 博客分类:
- Java基础
BigDecimal.setScale()方法用于格式化小数点
setScale(1)表示保留一位小数,默认用四舍五入方式
setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3
setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4
setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4
setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍
注释:
1 ...
1.DateFormatter java.util.Date<---->String实现日期的格式化/解析
//设置上下语言的语言环境
LocaleContextHolder.setLocale(Locale.US);
//--------测试日期格式化----------
Date d = new Date();
DateFormatter dateFormatter = new DateFormatter();
//按中文格式输出日期
...
from:http://www.waylau.com/build-angularjs-app-with-yeoman-in-windows/
目录
认识Yeoman
设置开发环境
安装 Yeoman 生成器
使用脚手架
from:http://www.cnblogs.com/qwj888/p/3939768.html
Jboss wildfly 添加 JDBC driver
我这里使用的是 wildfly-8.0.0.Final
第一步:
首先在modules里面添加mysql的驱动包
例如:modules\system\layers\base\com 在这下面新建 mysql文件夹,然后在mysql下面建子文件夹 main,这个main名字不能随便修改,这是规则。
整体路劲如下:
modules\system\layers\base\com\mysql\main
然后在main ...
java logger
- 博客分类:
- Java基础
<1>SLF4J
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger logger = LoggerFactory.getLogger(CallBackController.class );
<2>LOG4J
import org.apache.log4j.Logger;
private static Logger logger = Logger.getLogger(AccountController.class);
...