HBASE填坑日志

总结:

1.查询时能用rowKey查询尽量使用rowKey查询,这样hbase能最快确定数据在集群中的哪台机器上。


2.Scan.setReversed(true)、Filter.setReversed(true)可以将查询结果反转,但是有些限制:

使用Scan.setStartRow() Scan.setStopRow()时,如果Scan.setReversed(true)会导致查询不到数据。

使用FilterList时,所有的filter的reversed必须相同,否则会报错(Filters in the list must have the same reversed flag, this.reversed=XXX)。


3.Scan.setBatch()指定最多返回的Cell的数量,防止OutofMemory。


4.分页可以使用PageFilter,但是不能获...

HBASE初探

公司项目需要,接触了下HBASE,吐槽下感受。


1、官网基本找不到想要的资料... 难道是我方法有问题?emmmmm~

2、版本兼容性简直了...附不知道从哪儿偷来的图一张:

955497-20161207171406351-701789974.png

3、依赖jar包版本太低... 比如guava(HBASE1.2.4版本的 还在用guava14.0的jar包,坑死我了)

4、操作用法倒还算得上简单明了...

5、对分页支持不是很友好,但是也可以理解,毕竟你不能让秀才去杀牛不是


暂时这么多,其他的遇到再说。

...

微服务架构梳理总结(二)

  • 什么是微服务

微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

微服务中的“微”指的是组件的粒度,而非暴露接口的粒度。


  • 微服务架构的一些通用特性

根据MartinFowler的分析,微服务架构有以下的一些通用特性,但并非所有微服务架构应用都必须具备所有这些特性:

1.通过服务实现应用的组件化(Componentizationvia Services):微服务架构中将组件定义为可被...

微服务架构梳理总结

微服务的特点:

在微服务的模式下是事件驱动,服务之间他们如何被调用、如何走流程是通过事件驱动的,而不是中心化的思路做治理,更多的是去中心化的自治

微服务的本质是管理

是一种架构风格和设计模式

微服务架构每个服务都有自己的数据库

组件化

产品模式而非项目模式

基础设施自动化


微服务的优点:

    可独立部署、升级、替换、伸缩(备机)

    自由选择开发语言

    高效利用资源

    故障隔离


微服务带来的挑战:

    服务多,带来更多操作(部署脚本、)

    管理复杂度提升(日志、监控、环境、)

    部署难度加大(部署:开发部署还是测试部署...

代码精简之Lombok

JavaWeb项目开发中,JavaBean总是不可避免的出现,随之而来的就是大量的getter、setter方法,虽然大部分的开发工具(比如Eclipse等)都支持自动生成这些东西,但是一旦Bean里边的属性多起来,几十上百个甚至更多,这样的话,代码从头拉到尾都要很长时间,一旦需要修改或者其他的操作,都很麻烦,而且更重要的是看着不爽。

现在就有一个讨巧的方法,就是Lombok,项目里边引入Lombok的jar包,就可以省去getter、setter这些烦人的东西,当然这样的话,代码的可读性也会变的很糟糕!不过很少有什么事情是两全其美的,还是看个人喜好啦。。。


首先...