Go之Casbin简介,安装,模型,存储,函数

简介 Casbin是一个强大的,高效的开源访问控制框架,其权限管理机制支持多种访问控制模型 支持编程语言 不同语言中支持的特性 我们一直致力于让 Casbin 在不同的编程语言中拥有相同的特性。 但是现实总是不完美的。 上方的表格展示了当前的进度。 Watcher 和 Role Manager 的 ... »

kubernetes备份恢复之velero

Velero备份、恢复、迁移Kubernetes集群 Velero简介 Velero 地址:https://github.com/vmware-tanzu/velero Velero属于VMWare开源的Kubernetes集群备份、恢复、迁移工具. 可以提供Kubernetes 备份功能更,在Ku ... »

APM调用链产品对比

APM调用链产品对比 随着企业经营规模的扩大,以及对内快速诊断效率和对外SLA(服务品质协议,service-level agreement)的追求,对于业务系统的掌控度的要求越来越高,主要体现在: 对于第三方依赖的监控,实时/准实时了解第三方的健康状况/服务品质,降低第三方依赖对于自身系统的扰动( ... »

微服务架构介绍,架构,实现,对比,应用

微服务架构介绍 ​ 微服务的概念最早是在 2014 年由 Martin Fowler 和 James Lewis 共同提出,他们定义了微服务是由单一应用程序构成的小服务,拥有自己的进程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API 通讯。同时,服务会使用最小规 ... »

使用K8s的一些经验和体会

坑 Java应用程序的奇怪案例 ​ 在微服务和容器化方面,工程师倾向于避免使用 Java,这主要是由于 Java 臭名昭著的内存管理。但是,现在情况发生了改变,过去几年来 Java 的容器兼容性得到了改善。毕竟,大量的系统(例如Apache Kafka和Elasticsearch)在 Java 上运 ... »

Promethues 之 Thanos

Promethues简介和原理 请看我之前写的 Prometheus简介,原理和安装 https://www.cnblogs.com/you-men/p/12839535.html 官方架构问题 官方架构存在一个最大的问题数据量一上去需要尽快拆分,例如在使用中发现Es的Export会拉取大量metr ... »

为什么不建议把数据库部署在Docker容器内?

近2年Docker非常的火热,各位开发者恨不得把所有的应用、软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗?这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程,这里整理了一些数据库不适合容器化的原因供大家参考,同时也希望大家在使用时能够谨慎一点。目前为止将数据 ... »

01 . Go之从零实现Web框架(框架雏形, 上下文Context,路由)

设计一个框架 大部分时候,我们需要实现一个 Web 应用,第一反应是应该使用哪个框架。不同的框架设计理念和提供的功能有很大的差别。比如 Python 语言的 django和flask,前者大而全,后者小而美。Go语言/golang 也是如此,新框架层出不穷,比如Beego,Gin,Iris等。那为什 ... »

Go之获取系统性能数据 - goPsutil

简介 psutil是一个跨平台进程和系统监控的Python库,而gopsutil是其Go语言版本的实现。 Go语言部署简单、性能好的特点非常适合做一些诸如采集系统信息和监控的服务,本文介绍的gopsutil库是知名Python库:psutil的一个Go语言版本的实现。 特点 gopsutils为我们 ... »

01 . 从零实现Web框架(类似Gin)

设计一个框架 大部分时候,我们需要实现一个 Web 应用,第一反应是应该使用哪个框架。不同的框架设计理念和提供的功能有很大的差别。比如 Python 语言的 django和flask,前者大而全,后者小而美。Go语言/golang 也是如此,新框架层出不穷,比如Beego,Gin,Iris等。那为什 ... »

为什么游戏公司的server不愿意微服务化?

背景介绍 笔者最近去面试了家游戏公司(有上市)。我问他,公司有没有做微服务架构的打算及考量?他很惊讶的,我没听说过微服务耶,你可以解释一下吗? 我大概说了,方便测试,方便维护,方便升级,服务之间松耦合,可多语言开发,自动扩容……之类的点。 然后他说游戏server不太需要微服务,因为要求real t ... »

Gitlab + Jenkins 构建,发布一个基于Go的Gin测试项目

部署Go项目简介 对于golang的发布,之前一直没有一套规范的发布流程,来看看之前发布流程: 方案一 • 开发者本地环境需要将环境变量文件改为正式环境配置 • 编译成可执行文件 • 发送给运维 • (运维)将文件覆盖为线上 • (运维)重启进程 (可谓“又臭又长”) 方案二 开发者将代码commi ... »

Gitlab+Jenkins构建一个Go项目

部署Go项目简介 对于golang的发布,之前一直没有一套规范的发布流程,来看看之前发布流程: 方案一 • 开发者本地环境需要将环境变量文件改为正式环境配置 • 编译成可执行文件 • 发送给运维 • (运维)将文件覆盖为线上 • (运维)重启进程 (可谓“又臭又长”) 方案二 开发者将代码commi ... »

Kafka Eagle 管理平台

Kafka-Eagle简介 源代码地址:https://github.com/smartloli/kafka-eagle Kafka Eagle是什么 Kafka Eagle是一款用于监控和管理Apache Kafka的完全开源系统,目前托管在Github,由笔者和一些开源爱好者共同维护。它提供了完 ... »

服务发布方法(蓝绿,灰度,金丝雀)

单服务器组发布 早先我们机器资源比较紧张,不像现在云计算和虚拟化(包括容器技术)这么发达,所以应用机器基本是预先静态分配好的(一般由运维负责分配),原来应用 A 住在这 n 台机器上,那么下次升级发布的应用 A 也住在这 n 台机器上,所以称为单服务器组发布方式。 蛮力发布 如下图所示,这种发布方式 ... »

做运维的感悟(做运维需要考虑事,运维组织结构,运维学习地图....)

做运维需要考虑的事 简介 /* 运维是在于一个量 最少的人,最多的事 并且保证业务 比如说google的一个数据中心,只有几个人在维护 运维不能直接的创造价值,而是可以变相的节约成本 你节约的成本x你的意识x你的觉悟=你的价值 ———-来自 98素辞 */ 服务来说 1.对服务版本选择,要和开发沟通 ... »

shell百宝箱(部署服务)

什么是ssh? SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露. 互联网通信早期都是明文通信,一旦被截获,内容就暴露无疑. 1995年,芬兰学者Tatu Ylonen设计 ... »

Go加密算法总结

前言 加密解密在实际开发中应用比较广泛,常用加解密分为:“对称式”、“非对称式”和”数字签名“。 对称式:对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。具体算法主要有DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法。 非对称加密(公钥加密):指加密 ... »

04 . Vue组件注册,数据交互,调试工具及组件插槽介绍及使用

vue组件 组件(Component)是 Vue.js 最强大的功能之一。 组件可以扩展 HTML 元素,封装可重用的代码。 组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树: 目标 /* 知道组件化开发思想 知道组件的注册方式 说出组件间的数据交 ... »