• 常用mysql优化

    索引的类型及作用在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所...
  • 使用gitlab-ci自动构建代码

    使用docker 运行 gitlab runner运行 gitlab runner 有很多方式, 当前我们只使用docker 的方式运行runner. 12345$ docker run -d --name gitlab-runner --resta...
  • openshift 中的安全策略(scc)

    前言:在OpenShift(后文简称OCP)中, 很早就一个概念:Security Context Constraints, 简称SCC, 即安全上下文约束。 K8S的Pod安全策略和OCP中的SCC有一定继承(现有OCP的SCC后有K8S的pod安...
  • Gitlab 升级备份迁移

    由于我们公司的gitlab 还是n年之前的gitlab, 在升级的时候遇到很多坑, 把遇到的问题记录下来。 安全起见,旧服务器升级Gitlab前,建议先备份数据(虽然是老版本的,但总比丢失了的好)。 查询版本及备份1234567891011# 查看g...
  • 分布式事务

    在讲分布式事务之前, 我们先了解一下什么是事务, 在程序中事务有什么作用。 事务数据库事务的四大特性(ACID) (1) 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的...
  • 如何使用openssl 生成私有证书

    在以前的工作中,一直没有弄清楚证书的作用及ca证,pem等等后缀文件的作用,本篇文章主要讲解证书是如何生成的及ssl加密原理是什么样的? SSLSSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transpor...
  • java-序列化

    其他方法优先于java序列化java反序列化是一个明显存在的风险,它不仅被应用直接广泛使用,也被java子系统RMI(远程方法调用)、JMX(Java管理扩展)和JMS等大量的间接被使用。 将不被信任的流进行反序列化,可能导致远程代码执行,拒绝服务,...
  • 在go中查看代码的内存及cpu使用情况 (二)

    在上面的章节我们讲了如何在go的代码中发现内存和cpu的使用情况, 这个章节主要是讲一个具体的例子,通过这个例子我们怎么来找到我们代码中的问题 , 然后我们怎么去解决的。 首先我们来看一下现象, 以下图片是我查询prometheus返回的图片, 以下...
  • 在go中查看代码的内存及cpu使用情况 (一)

    在我们的开发过程中, 开发者很容易忽略一个问题。我们代码使用的内存堆栈的大小, 我们是在什么地方使用了较大的内存, cpu的消耗在什么地方。以下我就针对我之前写的一个服务对我代码中内存和cpu进行分析。 首先这种方式仅限于在go中使用,对其他的语言不...
  • istio无法访问外部tcp服务(一)

    前言前几天在生产环境出现了一个非常奇怪的问题, 集群内部环境无法访问集群外部的mysql, 好像redis也有类似的问题, 当时k8s版本1.11 istio 1.4,istio和k8s 版本都比较低。后面 用istio1.6 貌似也有同样的问题。 ...