自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 【Docker】【Docker-compose】部署一个Java+Python通过Thrift通信的服务

Docker基础 请还不熟悉Docker使用方式,基本原理的小伙伴先阅读【Docker】从0到部署单容器服务 Docker多容器架构 有很多时候我们需要部署多个服务,并让彼此之间通信,这时候再使用一个容器部署所有服务就不再是一个理想的方案了。我们针对每个服务建立一个镜像,部署到不同容器之中。下面使用一个我工作中的需求做示例讲解如何部署一个多容器服务。 Java+Python使用Thrift通信的服务 这是一个算法调用服务,用Java写客户端,提供对外调用接口。算法由于是使用Python实现的,需要用Java

2020-08-19 19:09:56 452

原创 【Docker】从0到部署单容器服务

Docker是什么 Docker是一款开源轻量级的容器引擎,让开发者可以轻松将自己的项目部署到一个容器中,发送给其他人使用。 为什么需要Docker,普通部署方式不可行吗? 可行,但在程序员之间常年流传着这样一句话:”在我机器上能跑“,是表达了对这段代码的肯定,更是表达了对这段代码的不确定,不确定其是否在其他机器其他环境下依然能完好如初。 一个复杂的项目往往很难如人意,尽管各大语言基本都有控制项目环境的工具,尽量保证运行环境的一致性(例如java的maven,gradle,python的requiremen

2020-08-19 15:47:58 283

原创 Redis过期删除 & 内存淘汰策略

Redis键值过期(Expire) Redis中可以为键设置过期时间,到达过期时间后的键无法再次获取到键值。Redis记录过期时间的方式是记录Unix时间辍,也就是从1970.1.1的00:00:00 UTC时间开始过的秒数(Redis2.6后为毫秒数),根据设置时的系统时间+过期时间计算,一旦系统时间到达,键就会过期。如果设置一个键1000秒过期,然后把系统时间调后2000秒,这个键就会立刻过期。因此多台机器运行Redis共享数据时,要注意保证多台机器的时间同步,不然可能出现在某一台机器上键过期而其他机器

2020-08-10 15:50:57 138

原创 Redis高可用的保障 - 持久化,主从,哨兵,集群机制

Redis是什么 Redis是现在领先基于内存存储key-value对的高速数据库,常被用来存储各种缓存信息,据官方数据可以完成100000次操作/秒。在速度方面几乎是无可挑剔的,但是其在内存内保存全部数据和单线程的特点也带来了很大的可靠性与高可用的问题,如果服务器突然崩溃,在内存内存储的数据将全部丢失;单线程虽然减少了上下文切换带来的开销,但意味着如果只开启一个redis实例,多核cpu的性能没有办法得到合理利用。Redis也针对大部分常见的使用问题给出了保证高可用和可靠性的解决方案。 Redis持久化

2020-08-07 18:34:39 412

原创 借助Spring的定时任务实现redis异步消息队列

应用场景 理论上任何需要消息队列的场景都可通过此方式实现,笔者的应用场景是一个服务完成一个任务需要经过两个不同的队列,任务经过了第一个队列后,需要重新配置入参放入第二个队列。完成第一个队列后的任务放入一个用redis List模拟的消息队列,由处理方法消费消息并处理后处理放入第二个队列。 实现方法 redis异步队列常见的实现方式主要有两种: 一,新消息rpush进入消息队列,每次lpop消息队列,如果没有信息则sleep一段时间然后再次lpop查询(如果没有间隔一直lpop会阻塞其他命令的执行,或直接搞崩

2020-07-27 16:43:35 480

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除