7个智慧农业使用案例
我国无人机发展迎来高速期 10月15日,据民航局透露的数据显示,当前我国网上注册开展通航作业的无人机企业已经超过9700家,商用无人机也已经超过12万架。同时根据此前其他有关数据,截至2019年我国无人机产值已经突破500亿元,预计2023年,国内无人机产业规模将来到千亿元左右。由此可见,自“十三五”以来,我国无人机发展已经进入到高速增长期之中。 在此期间,政策、资本、企业等因素的持续利好,推动了我国无人机市场规模的飞速壮大、关键技术的快速突破以及应用领域的拓展深化,产业发展逐渐呈现出多个明显特征。其中,最明显的就是民用无人机的加速崛起。伴随着消费级和工业级两大市场大门的开启,民用无人机轻松超过军用无人机发展规模,成为无人机产业发展增长的关键性动力。
与此同时,无人机产业的集聚效应也开始愈发明显。一方面,围绕无人机本体制造、系统集成、零部件生产和消费服务,无人机企业越来越多,实力优质企业开始频频涌现;另一方面,我国主导建设的无人机产业园区也如雨后春笋般出现,无人机发展开始向华南、华北、华中等几大地区聚拢,产业不断从分散走向集聚,发展集群化、区域化趋势加剧。 总结 Redis 虽然依靠自己的:基于内存操作、数据结构简单、多路复用和非阻塞 I/O、避免了不必要的线程上下文切换等特性,在单线程的环境下依然很快;但对于大数据的 key 删除还是卡的飞起,因此在 Redis 4.0 引入了多线程:unlink key/flushall async 等命令,主要用于 Redis 数据的删除,而在 Redis 6.0 中引入了 I/O 多线程的读写,这样就可以更加高效的处理更多的任务了,Redis 只是将 I/O 读写变成了多线程,而命令的执行依旧是由主线程串行执行的,因此在多线程下操作 Redis 不会出现线程安全的问题。 Redis 无论是当初的单线程设计,还是如今与当初设计相背的多线程,目的只有一个:让 Redis 变得越来越快。
所以 Redis 依旧没变,他还是那个曾经的追风少年~ /O 多路复用,简单来说就是通过监测文件的读写事件,再通知线程执行相关操作,保证 Redis 的非阻塞 I/O 能够顺利执行完成的机制。 因此在 Redis 6.0 中新增了多线程的功能来提高 I/O 的读写性能,他的主要实现思路是将主线程的 IO 读写任务拆分给一组独立的线程去执行,这样就可以使多个 socket 的读写可以并行化了,但 Redis 的命令依旧是由主线程串行执行的。 需要注意的是 Redis 6.0 默认是禁用多线程的,可以通过修改 Redis 的配置文件 redis.conf 中的 io-threads-do-reads 等于 true 来开启多线程,完整配置为 io-threads-do-reads true,除此之外我们还需要设置线程的数量才能正确的开启多线程的功能,同样是修改 Redis 的配置,例如设置 io-threads 4 表示开启 4 个线程。 小贴士:关于线程数的设置,官方的建议是如果为 4 核的 CPU,建议线程数设置为 2 或 3,如果为 8 核 CPU 建议线程数设置为 6,线程数一定要小于机器核数,线程数并不是越大越好。
关于 Redis 的性能,我的父王 antirez(Redis 作者)在 RedisConf 2019 分享时曾提到,Redis 6 引入的多线程 I/O 特性对性能提升至少是一倍以上。国内也有人在阿里云使用 4 个线程的 Redis 版本和单线程的 Redis 进行比较测试,发现测试的结果和 antirez 给出的结论基本吻合,性能基本可以提高一倍。 使用时间轮实现的延迟队列,能够支持大量任务的高效触发。并且在 Kafka 的时间轮算法的实现方案中,还引入了 DelayQueue,使用 DelayQueue 来推送时间轮滚动,而延迟任务的添加与删除操作都放在时间轮中,这样的设计大幅提升了整个延迟队列的执行效率。 总结
延迟队列在我们日常开发中应用非常广泛,本文介绍了三种不同的实现延迟队列的方案,三种方案各自有各自的特点,例如 Redis 的实现方案理解起来最为简单,能够快速落地,但 Redis 毕竟是基于内存的,虽然有数据持久化方案,但还是有数据丢失的可能性。而 RabbitMQ 的实现方案,由于 RabbitMQ 本身的消息可靠发送、消息可靠投递、死信队列等特性,可以保障消息至少被消费一次以及未被正确处理的消息不会被丢弃,让消息的可靠性有了保障。最后 Kafka 的时间轮算法,个人觉得是三种实现方案中最难理解但也不失为一种非常巧妙实现方案。 最后, 希望以上这些内容,能帮助大家在实现自己的延迟队列时提供一点思路。 (编辑:鞍山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |