首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
ZIKO呀
掘友等级
不会睡觉的树袋熊不是好厨师O_o
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
20
文章 20
沸点 0
赞
20
返回
|
搜索文章
赞
文章( 20 )
沸点( 0 )
Java 通用爬虫框架中多线程的使用
一. 前言 NetDiscovery 是本人开发的一款基于 Vert.x、RxJava 2 等框架实现的通用爬虫框架。它包含了丰富的特性。 二. 多线程的使用 NetDiscovery 虽然借助了 RxJava 2 来实现线程的切换,仍然有大量使用多线程的场景。本文列举一些爬虫…
基于 ZooKeeper 实现爬虫集群的监控
ZooKeeper 通常用于:命名服务、配置管理、集群管理、分布式协调/通知、分布式锁和分布式队列等等。 各个爬虫的节点通过注册到 ZooKeeper 从而实现爬虫集群的管理。NetDiscovery 正是借助了 ZooKeeper 的特性来监控爬虫集群。 NetDiscove…
Netty + ZooKeeper 实现简单的服务注册与发现
一. 背景 最近的一个项目:我们的系统接收到上游系统的派单任务后,会推送到指定的门店的相关设备,并进行相应的业务处理。 二. Netty 的使用 在接收到派单任务之后,通过 Netty 推送到指定门店相关的设备。在我们的系统中 Netty 实现了消息推送、长连接以及心跳机制。 …
使用 Kotlin+RocketMQ 实现延时消息
一. 延时消息 在电商系统中,用户下完订单30分钟内没支付,则订单可能会被取消。 在电商系统中,用户七天内没有评价商品,则默认好评。 基于 Redis 的 zset 实现延时队列。 除此之外,还可以使用消息队列来实现延时消息,例如 RocketMQ。 二. RocketMQ 三…
基于 Kotlin 特性实现的验证框架
一. kvalidation 介绍 二. kvalidation 设计 首先,定义一个 ValidateRule 的范型接口并使用逆变,它表示类的验证规则。 然后,定义一个用于验证类的 Validator,它继承自 LinkedHashSet。可以将 ValidateRule …
Spring WebFlux之HttpHandler的探索
通过前面的章节,我们已经接触了Reactor-Netty整个流程的设计实现细节,同时也涉及到了reactor.netty.http.server.HttpServer#handle,准确得说,它是一个SPI(Service Provider Interface)接口,对外提供B…
Kotlin 如何优雅地使用 Scope Functions
一. Scope Functions 作用域函数:它是 Kotlin 标准库的函数,其唯一目的是在对象的上下文中执行代码块。 当您在提供了 lambda 表达式的对象上调用此类函数时,它会形成一个临时范围。 在此范围内,您可以在不使用其名称的情况下访问该对象。 Kotlin 的…
Kotlin + Netty 在 Android 上实现 Socket 的服务端
一. 背景 最近的一个项目:需要使用 Android App 作为 Socket 的服务端,并且一个端口能够同时监听 TCP/Web Socket 协议。 自然而然,项目决定采用 Netty 框架。Netty 服务端在收到客户端发来的消息后,能够做出相应的业务处理。在某些场景下…
基于 Kotlin Coroutine 实现的 EventBus
一. 背景 这段时间接手了一个比较紧急的项目,它是一个运行在某开发板上的 Android 项目。 该项目采用的架构比较老,例如 RxJava 还在使用 1.x 的版本。起初看到源码,我内心是拒绝的。(这大半年来,我在使用 C++ 开发桌面端、 Java/Kotlin 开发后端,…
Kotlin Coroutines Flow 系列(一) Flow 基本使用
一. Kotlin Flow 介绍 Flow 库是在 Kotlin Coroutines 1.3.2 发布之后新增的库。 Flow 从文档的介绍来看,它有点类似 RxJava 的 Observable。因为 Observable 也有 Cold 、Hot 之分。 二. Flow…
下一页
关注了
1
关注者
1
收藏集
2
关注标签
0
加入于
2019-08-05