摘要:
netty作为一个被广泛应用的通信框架,有必要我们多了解一点。 实际上netty的几个重要的技术亮点: 1. reactor的线程模型; 2. 安全有效的nio非阻塞io模型应用; 3. pipeline流水线式的灵活处理过程; 4. channelHandler的灵活实现; 5. 提供许多开箱即用 阅读全文
摘要:
Hive sql与我们普通使用的sql基本差异不大,但在大数据领域往往存在很多未知的需求,所以往往都有一个支持自定义功能函数编写的口子,让用户实现其特定的需求。(这往往并非hive独有,几乎都是标配) 而要写udf往往也是比较简单,看几个例子,依葫芦画瓢总能搞几个。 今天我们就来简单写一个“自然周差 阅读全文
摘要:
日志文件自动删除功能必不可少,当然你可以让运维去做这事,只是这不地道。而日志组件是一个必备组件,让其多做一件删除的工作,无可厚非。本文就来探讨下 log4j 的日志文件自动删除实现吧。 0. 自动删除配置参考样例: (log4j2.xml) <?xml version="1.0" encoding= 阅读全文
摘要:
本文讨论java集合容器中的几种元素数量获取的方式,命题很小,但是也足以让我们思考一些东西。 所谓计数:即是给出所在容器的元素总数的方式。一般能想到的就是两种方式:一是使用某个字段直接存储该计数值,二是在请求计数值时临时去计算所有元素数量。貌似本文的答案已经出来了。好吧,那我们还是从源码的角度来验证 阅读全文
摘要:
zuul 作为springCloud 的全家桶组件之一,有着不可或缺的分量。它作为一个普通java API网关,自有网关的好处: 避免将内部信息暴露给外部; 统一服务端应用入口; 为微服务添加额外的安全层; 支持混合通信协议; 降低构建微服务的复杂性; 微服务模拟与虚拟化; zuul 基本上已经被s 阅读全文
摘要:
我们现在用得非常多互联网下载文件,非常直观。有一个下载按钮,然后我点击了下载,然后文件慢慢就下载到本地了。就好像是一个复制的过程。 而既然是互联网,那么必然会是使用网络进行传输的。那么到底是怎样传输的呢? 当然,下载文件有两种方式:一是直接针对某个文件资源进行下载,无需应用开发代码;二是应用代码临时 阅读全文
摘要:
本文所说的session是单机版本的session, 事实上在当前的互联网实践中已经不太存在这种定义了。我们主要讨论的是其安全共享的实现,只从理论上来讨论,不必太过在意实用性问题。 1. session 的意义简说 大概就是一个会话的的定义,客户端有cookie记录,服务端session定义。用于确 阅读全文
摘要:
上篇我们讲了Dubbo中有一个非常本质和重要的功能,那就是服务的自动注册与发现,而这个功能是通过注册中心来实现的。上篇中使用zookeeper实现了注册中心的功能,同时了提了dubbo中有其他许多的注册中心的实现。 今天我们就来看看另一个注册中心的实现吧: redis 。 1. dubbo在 Red 阅读全文
摘要:
Dubbo中有一个非常本质和重要的功能,那就是服务的自动注册与发现,而这个功能是通过注册中心来实现的。而dubbo中考虑了外部许多的注册组件的实现,zk,redis,etcd,consul,eureka... 各自实现方式各有不同,但是对外表现都是一致的:都实现了 Registry 接口! 今天我们 阅读全文
摘要:
前两篇中,我们看到了dubbo在负载均衡和服务路由方面的实现,它为集群功能提供了必要的功能。 今天我们再来看另一个集群组件的实现:集群容错。 1. dubbo 集群容错简介 为了避免单点故障,现在的应用通常至少会部署在两台服务器上。对于一些负载比较高的服务,会部署更多的服务器。对于服务消费者来说,同 阅读全文