- Docker镜像瘦身终极指南:七种武器让你的镜像体积减少90%!
DevKevin
日常笔记docker容器运维
文章目录引言为什么要关注Docker镜像瘦身?(强调重要性)七种Docker镜像瘦身武器(核心内容,分点详细讲解)--------第二阶段:运行阶段--------引言你是否也曾被Docker镜像那臃肿的身材所困扰?动辄几百兆甚至上G的镜像,不仅霸占着宝贵的硬盘空间,更拖累了镜像拉取和容器启动的速度,严重影响了开发和部署效率,简直让人“闻Image色变”!别担心!今天,我就将为你揭秘Docker镜
- SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
uui1885478445
ssh服务器docker
在远程通过SSH连接到一台服务器后,想要判断该服务器是云主机、物理机、虚拟机还是Docker容器环境,可以通过检查系统的特定属性和环境变量来进行辨别。以下是一些实用的方法,可以帮助您进行区分:1.检查系统硬件信息物理机与云主机/虚拟机:物理机通常直接暴露硬件信息,而云主机或虚拟机可能会显示虚拟化的硬件信息。可以使用命令如lscpu、dmidecode(需安装)或者sudolshw来查看硬件信息。在
- Dev Container 系列专题(3):深入配置:自定义你的 Dev Container
不出名的架构师
devopsdocker
在前两期中,我们了解了DevContainer的概念并快速搭建了一个基于预定义镜像的开发环境。这次,我们将更进一步,探索如何通过自定义配置打造一个完全符合项目需求的DevContainer。本篇将以一个Python项目为例,带你学习配置文件的核心字段、使用Dockerfile定制镜像,并配置开发工具。一、为什么要自定义DevContainer?预定义镜像(如Node.js或Python的官方镜像)
- 【ubuntu虚拟机】ens33未出现在ifconfig问题
qinfinger
虚拟机ubuntulinux
事情发生与2023年4月12日,windows上安装了docker-desktop,奈何wsl不好用,便卸载了,之后我的虚拟机ubuntu无法联网,于是开始解决之旅事故原因ifconfig查了一下,没有ens33网卡,于是用ipaddress查看,发现是存在的,说明ens33有误。解决方案记录从茫茫人海中,看了这篇文章遇上同样场景,便记录下突然无法连接虚拟机:ifconfig中没有ens33步骤一
- Debezium系列之:使用Debezium采集oceanbase数据库
快乐骑行^_^
debeziumDebezium系列采集oceanbase数据库
Debezium系列之:使用Debezium采集oceanbase数据库一、oceanbase数据库二、安装OceanBase三、安装oblogproxy四、基于Docker的简单采集案例五、生产实际应用案例Debezium是一个开源的分布式平台,用于监控数据库变化和捕捉数据变动事件,并以事件流的形式导出到各种消费者。Debezium基于ApacheKafka实现,并支持多种数据库系统。一、oce
- 近期docker镜像加速器被封杀,需要的请看此内容 点赞加关注
加油干sit!
dockerdocker
{“registry-mirrors”:[“https://docker.m.daocloud.io”],“insecure-registries”:[“harbor.sunya.com”],“exec-opts”:[“native.cgroupdriver=systemd”],“data-root”:“/data/docker”,“log-driver”:“json-file”,“log-opt
- 使用 Docker 部署 Prometheus + Grafana 监控平台
2401_84048398
程序员dockerprometheusgrafana
一、Prometheus简介==================================================================================Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,由SoundCloud公司开发。Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件
- 快速部署一个k8s集群
懒人P
Kubernetes云原生kubernetes容器运维
部署单Master的K8s集群kubeadm方式文章目录部署单Master的K8s集群一,前置知识点1.1生产环境可部署Kubernetes集群的两种方式1.2准备环境1.3操作系统初始化配置【所有节点】二,安装Docker/kubeadm/kubelet(所有节点)2.1安装Docker。2.2添加阿里云YUM软件源。2.3安装kubeadm,kubelet和kubectl.三,部署Kubern
- docker下载(HEL 8)
耀,,
dockereureka容器
在RedHatEnterpriseLinux(RHEL)8上安装DockerCE的步骤与CentOS略有不同,以下是针对RHEL8的完整指南:---###**1.准备工作:启用必要仓库**####**1.1启用RedHat订阅(如有必要)**如果您的RHEL8系统已注册订阅,确保启用了以下仓库:sudosubscription-managerrepos--enable=rhel-8-for-x86
- centos7 docker 安装mysql8
A 小小飞船
dockermysqlcentosdocker服务器
centos7docker安装mysql8要在CentOS7上使用Docker安装MySQL8,请按照以下步骤操作:安装Docker(如果尚未安装):sudoyuminstall-yyum-utilssudoyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.reposudoyuminstal
- docker容器导出导入
大得369
docker容器运维
第一种,导出在运作中的容器dockerexport-o/path/to/exported_container.tar使用这个导入dockerimport/path/to/exported_container.tarnew_image_name:tag导出不是在运行中的,和导入导出在运行中的,和导入宝塔直接点导出的使用这一种导入dockerload-i容器.tar
- docker
MzKyle
dockerdocker容器运维
Docker介绍Docker是一个开源容器化平台,主要作用是通过将应用程序及其依赖环境打包成轻量级、可移植的容器,实现跨环境的一致性部署与运行。其核心价值包括:环境隔离:容器内的应用与宿主机及其他容器相互隔离,确保运行环境的独立性。标准化交付:通过镜像(Image)封装代码、库和配置,消除“在我机器上能运行”的问题。资源高效:共享宿主机内核,相比虚拟机(VM)更节省内存和计算资源,启动速度更快。跨
- LLaMA-Factory 微调训练
zsh_abc
llamadocker深度学习人工智能pythonlinux
LLaMA-Factory微调训练该框架功能,标注-微调-导出-合并-部署,一整条流程都有,而且训练时消耗的gpu算力也会小一些一,安装(推荐在linux中训练,win可以用wsl+docker)gitclonehttps://github.com/hiyouga/LLaMA-Factory.gitcdLLaMA-Factory#根据cuda版本选择安装pytoch版本pip3installtor
- 将Docker添加到root用户中,在使用Docker时无需再使用sudo
yin_yao
ubuntulinuxdocker
1、创建docker组(如果docker用户组已存在,请跳过此步骤):sudogroupadddocker2、将用户添加到docker组:sudogpasswd-a${USER}docker3、重启docker服务:sudosystemctlrestartdocker4、切换到root用户,然后再切换回普通用户:surootsu${USER}完成以上四步后,再输入docker命令就不需要再加sud
- wsl2中配置docker
weixin_42172114
docker容器运维
DOCKER的配置还是太麻烦了,想再探索一个方法,实现核心算法和接口的更理想的解耦方式。缺少的不是一劳永逸的到处迁移而是保持核心算法的清洁、整洁、简洁,作为一个完整的包,在不同环境下去部署。即使一些基本的部署动作必不可少,就把这些部署动作搞清楚。配置好以后,尝试跟一下这个作业docker的入门使用—太详细了需要wsl2?wsl--set-default-version2转换为wsl2wsl-l-v
- 无需sudo直接使用docker
掠雪墨影
dockerdocker
转自:http://my.oschina.net/zjzhai/blog/196375从0.5.3开始,创建一个名为docker组,然后将用户加入这个组内。当docker守护进程启动时,它会把Unix的读写权限赋予docker组。这样,当你作为docker组内用户使用docker客户端时,你就无须使用sudo了。#Addthedockergroupifitdoesn'talreadyexist.s
- PHPer看docker容器的管理详解
PHP开源社区
PHP架构dockerpythonmysqlphp
查询容器信息dockerinspcet查询信息,包括运行情况、存贮位置、配置参数、网络设置等。查询容器的运行状态dockerinspect-f{{.State.Status}}【容器】查询容器的IPdockerinspect-f{{.NetworkSettings.IPAddress}}【容器】查询容器日志信息Ωdockerlogs【容器】-f实时打印最新的日志dockerstats实时查看容器所
- 在 Linux 上使用 Docker 部署 Spring Boot 项目
( •̀∀•́ )920
linuxdockerspringboot
目录1.准备工作1.1SpringBoot项目打包1.2安装Docker2.编写Dockerfile3.构建Docker镜像4.运行Docker容器5.使用DockerCompose(可选)5.1安装DockerCompose5.2编写`docker-compose.yml`5.3启动DockerCompose6.常用管理命令7.高级配置(可选)7.1设置时区7.2使用多阶段构建减少镜像体积8.验
- 【k8s004】 Docker 打包 K8s镜像
姚毛毛-aione1.com
kubernetesdocker容器
文章目录一.准备工作1.安装Docker:[官方安装文档](https://docs.docker.com/get-docker/)2.准备应用代码(示例使用Node.js应用)二.创建Dockerfile3、构建镜像(注意最后的点号)4、测试运行5、推送镜像到仓库6、Kubernetes部署文件示例7、部署到Kubernetes三、注意事项8、常用调试命令四、注意事项9、最佳实践一.准备工作1.
- Go 学习笔记整合
进击的程序猿~
GO容器技术数据库golang学习docker1024程序员节
包括go语言基础、Linux基础、docker、kubernetes、中间件、NoSQL等等。go语言基础:Golang基本数据结构:https://blog.csdn.net/qq_41822345/article/details/125350205Golang高级数据结构:https://blog.csdn.net/qq_41822345/article/details/125475150Go
- Kubernetes(k8s)和Docker Compose本质区别
愚昧之山绝望之谷开悟之坡
笔记dockerkubernetesdocker容器
Kubernetes(k8s)和DockerCompose是两种不同的容器编排工具,它们有各自的特点和使用场景。Kubernetes:Kubernetes是一个开源的容器编排平台,用于自动化计算机软件的部署、扩展和管理。它支持跨多个主机集群的容器化应用程序的自动部署、扩展和管理。Kubernetes提供了高可用性、自动故障转移、自动扩展和滚动更新等功能。它不仅支持Docker容器,还支持其他容器运
- Docker 和 Docker Compose 的关系
孽小倩
dockerdocker容器运维
1.Docker和DockerCompose的关系Docker和DockerCompose是容器化相关的工具,DockerCompose是Docker的一个补充工具,用于管理多容器应用。它们的关系如下:Docker是一个容器管理工具,负责构建、运行、分发容器。DockerCompose是一个编排工具,用于定义和管理多个Docker容器,通常用于微服务架构或多个服务的协调部署。可以简单理解:Dock
- Docker Compose to Kubernetes 转换工具教程
裴辰垚Simone
DockerComposetoKubernetes转换工具教程docker-compose-kubernetesLaunchalocalKubernetesclusterviaDockerCompose项目地址:https://gitcode.com/gh_mirrors/do/docker-compose-kubernetes项目介绍本项目旨在提供一个简单的方法,将使用DockerCompose
- 【k8s003】k8s与docker的依赖关系
姚毛毛-aione1.com
k8skubernetesdocker容器
一、早期版本对应关系(Kubernetes1.20之前)Kubernetes1.13–1.19支持的Docker版本范围:1.13.1至19.03.x说明:此阶段Kubernetes直接依赖Docker作为默认容器运行时,需严格匹配版本以避免兼容性问题。二、Kubernetes1.20及之后的版本演进Kubernetes从1.20版本开始逐步弃用对Docker的直接支持,转
- Docker自动安装、启动、接入、结束ros-melodic-desktop-full的脚本
QxAIRobot
robotshell脚本dockerROSlinux机器人ubuntu
脚本#!/bin/bash#Ascripttostartros:melodic-desktop-fullindocker.#Youneedtoinstallthelatestdockerfirst.#Author:liuqixuan.cn#Email:
[email protected]#set-xRES_NAME=rosTAG=melodic-desktop-fullif[[-z`whichdoc
- Dockerfile及Docker-compose Yaml
Darklord.W
dockerdockerdockerfiledocker-composeyaml
Dockerfile一、结构:基础镜像信息维护者信息镜像操作指令容器启动时执行指令FROM指明构建的新镜像是来自于哪个基础镜像,例如:FROMcentos:6MAINTAINER指明镜像维护着及其联系方式(一般是邮箱地址),例如:MAINTAINEREdisonZhou不过,MAINTAINER并不推荐使用,更推荐使用LABEL来指定镜像作者,例如:LABELmaintainer="xxxxx.c
- CI持续集成环境搭建(2)--docker的安装与配置
小辣椒1213
CIdocker
1.安装dockerhttps://www.runoob.com/docker/centos-docker-install.html1)设置yum源cd/etc/yum.repos.d/wgethttp://mirrors.aliyun.com/repo/Centos-7.repowgethttp://mirrors.aliyun.com/repo/epel-7.repoyum-yinstalle
- docker 安装 使用(ubuntu)
临街的小孩
dockerubuntu容器
安装#配置源curl-fsSLhttps://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg|sudoapt-keyadd-#安装阿里云gpg证书cd/etc/apt/sources.list.d#在指定目录下新建docker.list文件,添加阿里云镜像源sudotouchdocker.listsudochmod666docker.listsudoec
- Ubuntu中为curl和Docker配置代理
黑风风
网络运维ubuntudockerlinux
Ubuntu中为curl和Docker配置代理在Ubuntu环境下工作时,经常需要使用代理来访问网络资源,尤其在网络受限或需要访问时。本文介绍如何分别为curl命令和Docker配置代理192.168.100.11:8000。一、curl命令代理配置方法1:临时设置代理(仅当前命令有效)直接使用--proxy参数:curl--proxyhttp://192.168.100.11:8000http:
- 安装Docker Desktop报错WSL 2 installation is incomplete(实操教程)
By北阳
docker容器运维
点击运行提示WSL2安装不完整问题描述:WSL2installationisincomplete.TheWSL2LinuxkernelisnowinstalledusingaseparateMSlupdatepackage.Pleaseclickthelinkandfollowtheinstructionstoinstallthekernelupdate:https://aka.ms/wsl2ke
- Linux的Initrd机制
被触发
linux
Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最后通过对 Lin
- maven本地仓库路径修改
bitcarter
maven
默认maven本地仓库路径:C:\Users\Administrator\.m2
修改maven本地仓库路径方法:
1.打开E:\maven\apache-maven-2.2.1\conf\settings.xml
2.找到
 
- XSD和XML中的命名空间
darrenzhu
xmlxsdschemanamespace命名空间
http://www.360doc.com/content/12/0418/10/9437165_204585479.shtml
http://blog.csdn.net/wanghuan203/article/details/9203621
http://blog.csdn.net/wanghuan203/article/details/9204337
http://www.cn
- Java 求素数运算
周凡杨
java算法素数
网络上对求素数之解数不胜数,我在此总结归纳一下,同时对一些编码,加以改进,效率有成倍热提高。
第一种:
原理: 6N(+-)1法 任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,…)
- java 单例模式
g21121
java
想必单例模式大家都不会陌生,有如下两种方式来实现单例模式:
class Singleton {
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance() {
return instance;
}
- Linux下Mysql源码安装
510888780
mysql
1.假设已经有mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
(1)创建mysql的安装目录及数据库存放目录
解压缩下载的源码包,目录结构,特殊指定的目录除外:
- 32位和64位操作系统
墙头上一根草
32位和64位操作系统
32位和64位操作系统是指:CPU一次处理数据的能力是32位还是64位。现在市场上的CPU一般都是64位的,但是这些CPU并不是真正意义上的64 位CPU,里面依然保留了大部分32位的技术,只是进行了部分64位的改进。32位和64位的区别还涉及了内存的寻址方面,32位系统的最大寻址空间是2 的32次方= 4294967296(bit)= 4(GB)左右,而64位系统的最大寻址空间的寻址空间则达到了
- 我的spring学习笔记10-轻量级_Spring框架
aijuans
Spring 3
一、问题提问:
→ 请简单介绍一下什么是轻量级?
轻量级(Leightweight)是相对于一些重量级的容器来说的,比如Spring的核心是一个轻量级的容器,Spring的核心包在文件容量上只有不到1M大小,使用Spring核心包所需要的资源也是很少的,您甚至可以在小型设备中使用Spring。
 
- mongodb 环境搭建及简单CURD
antlove
WebInstallcurdNoSQLmongo
一 搭建mongodb环境
1. 在mongo官网下载mongodb
2. 在本地创建目录 "D:\Program Files\mongodb-win32-i386-2.6.4\data\db"
3. 运行mongodb服务 [mongod.exe --dbpath "D:\Program Files\mongodb-win32-i386-2.6.4\data\
- 数据字典和动态视图
百合不是茶
oracle数据字典动态视图系统和对象权限
数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。随着数据库的启动而启动,数据库关闭时数据字典也关闭 数据字典中包含
数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
数据库为一
- 多线程编程一般规则
bijian1013
javathread多线程java多线程
如果两个工两个以上的线程都修改一个对象,那么把执行修改的方法定义为被同步的,如果对象更新影响到只读方法,那么只读方法也要定义成同步的。
不要滥用同步。如果在一个对象内的不同的方法访问的不是同一个数据,就不要将方法设置为synchronized的。
- 将文件或目录拷贝到另一个Linux系统的命令scp
bijian1013
linuxunixscp
一.功能说明 scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下: scp 远程用户名@IP地址:文件的绝对路径
- 【持久化框架MyBatis3五】MyBatis3一对多关联查询
bit1129
Mybatis3
以教员和课程为例介绍一对多关联关系,在这里认为一个教员可以叫多门课程,而一门课程只有1个教员教,这种关系在实际中不太常见,通过教员和课程是多对多的关系。
示例数据:
地址表:
CREATE TABLE ADDRESSES
(
ADDR_ID INT(11) NOT NULL AUTO_INCREMENT,
STREET VAR
- cookie状态判断引发的查找问题
bitcarter
formcgi
先说一下我们的业务背景:
1.前台将图片和文本通过form表单提交到后台,图片我们都做了base64的编码,并且前台图片进行了压缩
2.form中action是一个cgi服务
3.后台cgi服务同时供PC,H5,APP
4.后台cgi中调用公共的cookie状态判断方法(公共的,大家都用,几年了没有问题)
问题:(折腾两天。。。。)
1.PC端cgi服务正常调用,cookie判断没
- 通过Nginx,Tomcat访问日志(access log)记录请求耗时
ronin47
一、Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间
nginx.conf使用配置方式:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_r
- java-67- n个骰子的点数。 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
bylijinnan
java
public class ProbabilityOfDice {
/**
* Q67 n个骰子的点数
* 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
* 在以下求解过程中,我们把骰子看作是有序的。
* 例如当n=2时,我们认为(1,2)和(2,1)是两种不同的情况
*/
private stati
- 看别人的博客,觉得心情很好
Cb123456
博客心情
以为写博客,就是总结,就和日记一样吧,同时也在督促自己。今天看了好长时间博客:
职业规划:
http://www.iteye.com/blogs/subjects/zhiyeguihua
android学习:
1.http://byandby.i
- [JWFD开源工作流]尝试用原生代码引擎实现循环反馈拓扑分析
comsci
工作流
我们已经不满足于仅仅跳跃一次,通过对引擎的升级,今天我测试了一下循环反馈模式,大概跑了200圈,引擎报一个溢出错误
在一个流程图的结束节点中嵌入一段方程,每次引擎运行到这个节点的时候,通过实时编译器GM模块,计算这个方程,计算结果与预设值进行比较,符合条件则跳跃到开始节点,继续新一轮拓扑分析,直到遇到
- JS常用的事件及方法
cwqcwqmax9
js
事件 描述
onactivate 当对象设置为活动元素时触发。
onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即
- 正则表达式验证日期格式
dashuaifu
正则表达式IT其它java其它
正则表达式验证日期格式
function isDate(d){
var v = d.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/i);
if(!v) {
this.focus();
return false;
}
}
<input value="2000-8-8" onblu
- Yii CModel.rules() 方法 、validate预定义完整列表、以及说说验证
dcj3sjt126com
yii
public array rules () {return} array 要调用 validate() 时应用的有效性规则。 返回属性的有效性规则。声明验证规则,应重写此方法。 每个规则是数组具有以下结构:array('attribute list', 'validator name', 'on'=>'scenario name', ...validation
- UITextAttributeTextColor = deprecated in iOS 7.0
dcj3sjt126com
ios
In this lesson we used the key "UITextAttributeTextColor" to change the color of the UINavigationBar appearance to white. This prompts a warning "first deprecated in iOS 7.0."
Ins
- 判断一个数是质数的几种方法
EmmaZhao
Mathpython
质数也叫素数,是只能被1和它本身整除的正整数,最小的质数是2,目前发现的最大的质数是p=2^57885161-1【注1】。
判断一个数是质数的最简单的方法如下:
def isPrime1(n):
for i in range(2, n):
if n % i == 0:
return False
return True
但是在上面的方法中有一些冗余的计算,所以
- SpringSecurity工作原理小解读
坏我一锅粥
SpringSecurity
SecurityContextPersistenceFilter
ConcurrentSessionFilter
WebAsyncManagerIntegrationFilter
HeaderWriterFilter
CsrfFilter
LogoutFilter
Use
- JS实现自适应宽度的Tag切换
ini
JavaScripthtmlWebcsshtml5
效果体验:http://hovertree.com/texiao/js/3.htm
该效果使用纯JavaScript代码,实现TAB页切换效果,TAB标签根据内容自适应宽度,点击TAB标签切换内容页。
HTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
- Hbase Rest API : 数据查询
kane_xie
RESThbase
hbase(hadoop)是用java编写的,有些语言(例如python)能够对它提供良好的支持,但也有很多语言使用起来并不是那么方便,比如c#只能通过thrift访问。Rest就能很好的解决这个问题。Hbase的org.apache.hadoop.hbase.rest包提供了rest接口,它内嵌了jetty作为servlet容器。
启动命令:./bin/hbase rest s
- JQuery实现鼠标拖动元素移动位置(源码+注释)
明子健
jqueryjs源码拖动鼠标
欢迎讨论指正!
print.html代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>发票打印</title>
&l
- Postgresql 连表更新字段语法 update
qifeifei
PostgreSQL
下面这段sql本来目的是想更新条件下的数据,可是这段sql却更新了整个表的数据。sql如下:
UPDATE tops_visa.visa_order
SET op_audit_abort_pass_date = now()
FROM
tops_visa.visa_order as t1
INNER JOIN tops_visa.visa_visitor as t2
ON t1.
- 将redis,memcache结合使用的方案?
tcrct
rediscache
公司架构上使用了阿里云的服务,由于阿里的kvstore收费相当高,打算自建,自建后就需要自己维护,所以就有了一个想法,针对kvstore(redis)及ocs(memcache)的特点,想自己开发一个cache层,将需要用到list,set,map等redis方法的继续使用redis来完成,将整条记录放在memcache下,即findbyid,save等时就memcache,其它就对应使用redi
- 开发中遇到的诡异的bug
wudixiaotie
bug
今天我们服务器组遇到个问题:
我们的服务是从Kafka里面取出数据,然后把offset存储到ssdb中,每个topic和partition都对应ssdb中不同的key,服务启动之后,每次kafka数据更新我们这边收到消息,然后存储之后就发现ssdb的值偶尔是-2,这就奇怪了,最开始我们是在代码中打印存储的日志,发现没什么问题,后来去查看ssdb的日志,才发现里面每次set的时候都会对同一个key