`
gong1208
  • 浏览: 556999 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
  搭建mongodb分片   Sharding分片概念 这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在sharding的各个节点上,使用者通过简单的配置就可以很方便地构建一个分布式MongoDB集群。 MongoDB 的数据分块称为 chunk。每个 chunk 都是 Collection 中一段连续的数据记录,通常最大尺寸是 200MB,超出则生成新的数据块。 要构建一个 MongoDB Sharding Cluster,需要三种角色: Shard Server 即存储实际数据的分片,每个Shard可以是一个mongod实例,也可以 ...
                     Java 消息服务(JMS)介绍                                                                      ­­­­——使用spring与activemq   第一次写技术文章,所以不懂规矩,写得也没什么条理,主要都 ...
         Mongodb的安装、主从配置、replicaSet配置                                                                                 ——gongyong        前段时间一直在研究mongodb,看了一些书,网上也看了很多资料,其实都是抄来抄去,很多根本都没有经过自己验证,随便往博客上一贴,然后坑死人,这样真的要不得,本人在开始就深受其害,所以这里未免后来人也跟我一样走这些弯路,自己就花点时间把自己的一些实践操作整理了下,写了这篇文章。 文章很简单,主要还是讲基本的配置,关 ...
各位好,在阅读本文请务必先阅读上一篇文章《来,我给你们看一段神奇的mongodb的mapreduce操作!》,链接:http://gong1208.iteye.com/blog/1830576 因为此文是上一篇文章的解释。   我在上篇博客中指出的mongodb进行mapreduce时出现的奇怪的错误,其实是我个人的错误,原因在于mongodb进行mapreduce时,reduce函数有一段说明:    Requirements for the reduce Function The reduce function has the following prototype: fu ...
              一次代码review引发的关于单例模式的思 一次代码调优中发现一个情况,即我在查看memcached的connection时,发现总是维持在100来个左右,当然这看似没什么问题,因为memcached默认connection有1024个。但是我想的是为什么会有100来个,因为我的memcachedclient的产生采用的是单例模式,so let’s get into the code: 我定义了一个memcachedClientFactory类,主要代码如下: MemcachedClientFactory{ private MemcachedConnecti ...
      来,我给你们看一段神奇的mongodb的mapreduce操作!     首先我们执行一段js,用来往mongodb数据库里插入几条记录: //insert.js for(var i=0;i<5;i++){ db.RegistRecord.save({"ip":"11.11.11.11","account":"ongyong"}); } for(var i=0;i<2;i++){ db.RegistRecord.save({"ip":" ...
Spring定时任务的几种实现 近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将结合 spring框架来介绍。 一.分类 从实现的技术上来分类,目前主要有三种技术(或者说有三种产品): Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少,这篇文章将不做详细介绍。 使用Quartz,这是一个功能比较强大的的调度 ...
我会告诉你我为什么用Integer.ValueOf()而不用new Integer()吗? 问题:当你需要产生一个整形的包装类的实例的时候(比如整数10),有两种方式: 第一种,使用构造函数new 一个对象: Integer i=new Integer(10); 第二种,使用静态工厂方法产生实例(我会告诉你其实java里所有的ValueOf都是静态工厂方法吗?): Integer i=Integer.ValueOf(10); 你选哪种? 我选第二种,为什么?因为,当你用第一种方式时每次都会产生一个新的实例,而当你使用静态工厂方法时,不一定会产生一个新的实例,注意我说的是不一 ...
MongoDB 2.2版本发布   摘要:经过近一年开发,MongoDB最新的稳定版2.2发布。重要的新特性包括:聚集框架、多数据中心支持、并发改进、TL集合和Shell改进等。 MongoDB开发团队10gen的CTO Eliot Horowitz刚刚发表博客,宣布最新的稳定版(可以用于生产环境)MongoDB 2.2已经可以下载。距离上一个稳定版本2.0发布的2011年9月,将近一年。
适配器模式适配器模式,不想讲概念,假设个情景:公司现在要开发一个ERP系统,需要查询公司所有员工的信息,这个很好办,很快开发完了;然后来了个需求,公司收购了一家公司,该公司的组织结构与本公司不同,他们有自己的ERP系统,并且希望保留自己的ERP系统,但是总公司管理人员可不想使用两个ERP系统,他习惯了用总公司的ERP系统,所以,我们需要把子公司的ERP系统整合到总公司的ERP系统中,而总公司的ERP系统界面不变化。问题是我们发现,两个ERP系统的用于保存用户数据的数据结构是不同的,同时大家可能会问,这两个对象都不在一个系统中,你如何使用呢?(简单!RMI 已经帮我们做了这件事情 ...
设计模式(八)——模板方法模式 这几天杂七杂八的事有点多,停了几日,今日继续,今天讲最简单的模板方法,但是却是用的比较广泛的。首先来明确下概念吧,模板方法的写法是这样,准备一个抽象类,将部分逻辑以 ...
  MSM--Memcached_Session_Manager介绍及使用 我们都知道对于一些大型的web2.0的网站,在正式部署时一般是部署在不同故障域的多台应用服务器上,以j2ee应用为例,一般我们都会部署在tomcat下,假如我们部署了10台tomcat服务器,那这10台tomcat可能是部署在不同的机器上,然后将应用程序copy到这10台tomcat下,然后启动所有tomcat,一般来说这样做的目的是为了达到负载均衡以及避免单点故障,另外也考虑到国内网络环境的原因,避免跨网络运营商访问而导致访问速度低下的问题,当然不要忘了坐镇这10台tomcat前端的还有我们的反向代理服务器,比如 ...
设计模式(七)——门面模式   门面模式(facade pattern),又称外观模式,为子系统中的一组接口提供一个一致的界面, Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。简而言之,就是把一堆复杂的流程封装成一个接口供给用户更简单的使用,这个设计模式里有三个角色: 1)门面角色( facade ):这是门面模式的核心。它被客户角色调用,因此它熟悉子系统的功能。它内部根据客户角色已有的需求预定了几种功能组合。 2)子系统角色(subsystem):实现了子系统的功能。对它而言, façade 角色就和客户角色一样是未知的,它没有任何 façade 角色 ...
设计模式(六)——抽象工厂模式   感冒了几天,没写。今天继续,上次写到工厂方法模式了,总的来说,工厂方法模式还是挺简单的,这次讲的抽象工厂模式,听名字也知道应该是与工厂模式是一脉相承的,顾名思义就是将工厂模式抽象化了,是的,木有错,就是这样,实质上就是在具体产品和具体实现工厂与各自接口中间再加入了一个抽象类,这样做有什么好处?废话,没好处我闲的那什么疼要多加一层?现在不说,写完一看就知道,然后这里引入两个专业概念:产品等级,产品族。其实很好理解,先记着,用到的时候讲。 我们接着上一讲的例子,仍然是老板要造汽车,现在的情况是,老板有间汽车工厂,可以造奥迪和奔驰车,但是老板想,奥迪 ...
设计模式(五)——工厂方法模式 工厂方法模式(Factory Method Pattern)其定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 工厂方法模式的优点    1. 工厂方法模式可以降低模块间的耦合性,使用工厂方法模式创建一个对象,不再需要知道创建该对象的艰辛过程和必要信息,只需要提供一个产品的约束条件(例如,类名或约束字符串)就可以获取需要的对象。   2. 工厂方法有良好的扩展性。     3. 屏蔽了产品类,调用者只需要关系产品类的接口。因为产品类的具体对象实例是由工厂产生的。   假设如下场景: ...
Global site tag (gtag.js) - Google Analytics