摘要:
在使用springboot进行开发的过程中,我们经常需要处理这样的场景:在服务启动的时候,需要向服务注册中心(例如zk)注册服务状态,以便当服务状态改变的时候,可以故障摘除和负载均衡。 我遇到过两种注册的途径: 1、在Spring的webapplication启动完成后,直接进行注册; 2、在ser 阅读全文
摘要:
本文主要讲述springboot提供的声明式的事务管理机制。 一、一些概念 声明式的事务管理是基于AOP的,在springboot中可以通过@Transactional注解的方式获得支持,这种方式的优点是: 1)非侵入式,业务逻辑不受事务管理代码的污染。 2)方法级别的事务回滚,合理划分方法的粒度可 阅读全文
摘要:
强制重置未分片的分片,这个问题源自于Elasticsearch维护中,Node意外退出的场景。 意外退出后Elasticsearch由于网络原因或者jvm性能压力,未能短时间内分配分片。 看一下分片的状态。可以看到有一些分片处于未分配状态。 我们这里是node-client09节点挂掉了,重启这个节 阅读全文
摘要:
本文描述了一个系统,功能是评价和抽象地理围栏(Geo-fencing),以及监控和分析核心地理围栏中业务的表现。 技术栈:Spring-JQuery-百度地图WEB SDK 存储:Hive-Elasticsearch-MySQL-Redis 什么是地理围栏? LBS系统中,地理围栏指的是虚拟边界围成 阅读全文
摘要:
本文给出如何使用Elasticsearch的Java API做类似SQL的group by聚合。 为了简单起见,只给出一级groupby即group by field1(而不涉及到多级,例如group by field1, field2, ...);如果你需要多级的groupby,在实现上可能需要拆 阅读全文
摘要:
前言 什么是mybatis二级缓存? 二级缓存是多个sqlsession共享的,其作用域是mapper的同一个namespace。 即,在不同的sqlsession中,相同的namespace下,相同的sql语句,并且sql模板中参数也相同的,会命中缓存。 第一次执行完毕会将数据库中查询的数据写到缓 阅读全文
摘要:
前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页。 前端分页 一次性请求数据表格中的所有记录(ajax),然后在前端缓存并且计算count和分页逻辑,一般前端组件(例如dataTable)会提供分页动作。 特点是:简单, 阅读全文
摘要:
本文讲述如何搭建docker私有仓库。 有了docker hub,为什么还要搭建docker私有仓库? 1、性能考虑:docker hub的访问要通过互联网,性能太低。 2、安全性:更多的时候,镜像不想被外部的人获取,虽然可以在docker hub上申请私有repository,但是需要付费。 系统 阅读全文
摘要:
本文主要介绍spark join相关操作。 讲述spark连接相关的三个方法join,left-outer-join,right-outer-join,在这之前,我们用hiveSQL先跑出了结果以方便进行对比。 我们以实例来进行说明。我的实现步骤记录如下。 1、数据准备 2、HSQL描述 3、Spa 阅读全文
摘要:
在使用elasticsearch的时候,经常会遇到需要淘汰掉历史数据的场景。 为了方便数据淘汰,并使得数据管理更加灵活,我们经常会以时间为粒度建立索引,例如: 每个月建立一个索引:monthly-201709、monthly-201710、monthly-201711 每天建立一个索引:daily- 阅读全文