Loading

上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: Apache HttpClient是Java中经常使用的Http Client,总结下HttpClient4中经常使用的post请求用法。 1 Basic Post 使用2个参数进行post请求: 2 POST with Authorization 使用Post进行Basic Authenticat 阅读全文
posted @ 2016-12-12 17:13 阿凡卢 阅读(2223) 评论(1) 推荐(1) 编辑
摘要: 简介 Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。 Kafka架构 它的架构包括以下组件: 话题(Topic):是特定类型的消息流。消息是字 阅读全文
posted @ 2016-05-14 15:24 阿凡卢 阅读(31828) 评论(5) 推荐(5) 编辑
摘要: MySQL和Lucene都可以对数据构建索引并通过索引查询数据,一个是关系型数据库,一个是构建搜索引擎(ElasticSearch、Solr)的核心类库。两者的索引(index)有什么区别呢?以前写过一篇《Solr与MySQL查询性能对比》,只是简单的对比了下查询性能,对于内部原理却没有解释,本文简 阅读全文
posted @ 2016-05-02 16:03 阿凡卢 阅读(9621) 评论(3) 推荐(0) 编辑
摘要: 1、背景 最近在搜索Netty和Zookeeper方面的文章时,看到了这篇文章《轻量级分布式 RPC 框架》,作者用Zookeeper、Netty和Spring写了一个轻量级的分布式RPC框架。花了一些时间看了下他的代码,写的干净简单,写的RPC框架可以算是一个简易版的dubbo。这个RPC框架虽小 阅读全文
posted @ 2016-03-13 16:43 阿凡卢 阅读(71235) 评论(40) 推荐(22) 编辑
摘要: 1、背景 在离线环境下(局域网中)的GIS系统中如何使用地图?这里的地图主要指的是地图底图,有了底图切片数据,我们就可以看到地图,在上面加上自己的业务数据图层,进行相关操作。 要在离线环境下看到GIS地图,就要有底图切片数据,地图的底图切片数据在一定时间内是不会变化的,可以使用一些地图下载器下载地图 阅读全文
posted @ 2015-12-05 21:29 阿凡卢 阅读(40663) 评论(86) 推荐(15) 编辑
摘要: 1、简介 关于空间数据搜索,以前写过《使用Solr进行空间搜索》这篇文章,是基于Solr的GIS数据的索引和检索。 Solr和ElasticSearch这两者都是基于Lucene实现的,两者都可以进行空间搜索(Spatial Search),在有些场景,我们需要把Lucene嵌入到已有的系统提供数据 阅读全文
posted @ 2015-12-04 19:16 阿凡卢 阅读(5515) 评论(0) 推荐(1) 编辑
摘要: 在分布式系统中,往往需要一些分布式同步原语来做一些协同工作,上一篇文章介绍了Zookeeper的基本原理,本文介绍下基于Zookeeper的Lock和Queue的实现,主要代码都来自Zookeeper的官方recipe。 锁(Lock) 完全分布式锁是全局同步的,这意味着在任何时刻没有两个客户端会同 阅读全文
posted @ 2015-10-18 16:52 阿凡卢 阅读(38504) 评论(0) 推荐(6) 编辑
摘要: ZooKeeper简介 ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。 ZooKeeper设计目的 1.最终一致性:client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最 阅读全文
posted @ 2015-10-17 14:23 阿凡卢 阅读(41296) 评论(7) 推荐(18) 编辑
摘要: 一、简介 ElasticSearch和Solr都是基于Lucene的搜索引擎,不过ElasticSearch天生支持分布式,而Solr是4.0版本后的SolrCloud才是分布式版本,Solr的分布式支持需要ZooKeeper的支持。 这里有一个详细的ElasticSearch和Solr的对比:ht 阅读全文
posted @ 2015-10-11 16:35 阿凡卢 阅读(57771) 评论(9) 推荐(4) 编辑
摘要: 测试环境 本文简单对比下Solr与MySQL的查询性能速度。 测试数据量:10407608 Num Docs: 10407608 普通查询 这里对MySQL的查询时间都包含了从MySQL Server获取数据的时间。 在项目中一个最常用的查询,查询某段时间内的数据,SQL查询获取数据,30s左右 对 阅读全文
posted @ 2015-08-02 18:43 阿凡卢 阅读(16127) 评论(0) 推荐(3) 编辑
摘要: 一、MySQL的主要适用场景 1、Web网站系统 2、日志记录系统 3、数据仓库系统 4、嵌入式系统 二、MySQL架构图: 三、MySQL存储引擎概述 1)MyISAM存储引擎 MyISAM存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件。首先肯定会有任何存储引擎都不可缺少的存放 阅读全文
posted @ 2015-08-01 15:15 阿凡卢 阅读(83219) 评论(3) 推荐(10) 编辑
摘要: 本文简要介绍Java并发编程方面常用的类和集合,并介绍下其实现原理。 1、AtomicInteger 可以用原子方式更新int值。类 AtomicBoolean、AtomicInteger、AtomicLong 和 AtomicReference 的实例各自提供对相应类型单个变量的访问和更新。基本的 阅读全文
posted @ 2015-07-11 15:28 阿凡卢 阅读(9471) 评论(0) 推荐(1) 编辑
摘要: JVM框架 Java虚拟机HotSpot的框架: JVM主要组成部分:Class Loader(类加载器)、Runtime Data Area(运行时数据区)、执行引擎(Execution Engine)。 JVM垃圾回收简介 Step 1: Marking GC算法在扫描存活对象时通常需要从Roo 阅读全文
posted @ 2015-07-08 22:34 阿凡卢 阅读(1653) 评论(0) 推荐(0) 编辑
摘要: Spring简介 Spring解决的最核心的问题就是把对象之间的依赖关系转为用配置文件来管理,这个是通过Spring的依赖注入机制实现的。 Spring Bean装配 1. IOC的概念以及在Spring容器中如何进行IOC的操作。 IOC:Inversion of Control,控制反转。在Ja 阅读全文
posted @ 2015-07-06 20:04 阿凡卢 阅读(3025) 评论(0) 推荐(2) 编辑
摘要: 如果需要对带经纬度的数据进行检索,比如查找当前所在位置附近1000米的酒店,一种简单的方法就是:获取数据库中的所有酒店数据,按经纬度计算距离,返回距离小于1000米的数据。 这种方式在数据量小的时候比较有效,但是当数据量大的时候,检索的效率是很低的,本文介绍使用Solr的Spatial Query进 阅读全文
posted @ 2015-05-04 21:32 阿凡卢 阅读(11254) 评论(10) 推荐(3) 编辑
摘要: 离线地图解决方案,除了买地图数据,使用专业的ArcGIS来做外,也可以使用GMap.Net来做。 关于GMap的开发教程,可以看我以前的文章:基于GMap.Net的地图解决方案 使用了GMap一年了,也有了一些积累,开发了一个可以下载ArcGIS、百度、谷歌、高德、腾讯SOSO、天地图、Here等地 阅读全文
posted @ 2015-04-24 23:05 阿凡卢 阅读(133641) 评论(123) 推荐(38) 编辑
摘要: 环境搭建 1、到apache下载solr,地址:http://mirrors.hust.edu.cn/apache/lucene/solr/ 2、解压到某个目录 3、cd into D:\Solr\solr-4.10.3\example 4、Execute the server by “java - 阅读全文
posted @ 2015-04-20 21:49 阿凡卢 阅读(36181) 评论(2) 推荐(7) 编辑
摘要: Scalable IO in Javahttp://gee.cs.oswego.edu/dl/cpjslides/nio.pdf基本上所有的网络处理程序都有以下基本的处理过程:Read requestDecode requestProcess serviceEncode replySend repl... 阅读全文
posted @ 2015-03-11 22:10 阿凡卢 阅读(14363) 评论(3) 推荐(6) 编辑
摘要: 实时消息的推送,PC端的推送技术可以使用socket建立一个长连接来实现。传统的web服务都是客户端发出请求,服务端给出响应。但是现在直观的要求是允许特定时间内在没有客户端发起请求的情况下服务端主动推送消息到客户端。 有哪些可以实现web消息推送的技术: 不断地轮询(俗称“拉”,polling)是获 阅读全文
posted @ 2015-02-08 14:11 阿凡卢 阅读(53226) 评论(26) 推荐(2) 编辑
摘要: Netty作为一个高性能的异步网络开发框架,可以作为各种服务的开发框架。 前段时间的一个项目涉及到硬件设备实时数据的采集,采用Netty作为采集服务的实现框架,同时使用RabbitMQ作为采集服务和各个其他模块的通信消息队列,整个服务框架图如下: 将业务代码和实际协议解析部分的代码抽离,得到以上一个 阅读全文
posted @ 2015-01-28 21:11 阿凡卢 阅读(27653) 评论(12) 推荐(12) 编辑
上一页 1 2 3 4 5 6 7 ··· 9 下一页