03 2020 档案

使用Jenkins与Docker持续集成与发布NetCore项目(实操篇)
摘要:使用Jenkins与Docker持续集成与发布NetCore项目(教程一) 原文地址:https://www.cnblogs.com/Jackyye/p/12588182.html 基本环境 该教程的环境基于服务器系统:CentOs软件需部署:Docker,Docker Registry(Docke 阅读全文

posted @ 2020-03-30 14:13 ExplorerMan 阅读(455) 评论(0) 推荐(0)

go mod有了它,再也不用担心运行缺少类库了【h】
摘要:参考链接:https://blog.csdn.net/weixin_39003229/article/details/97638573 什么是go.mod? Go.mod是Golang1.11版本新引入的官方包管理工具用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。 Go.mod其实 阅读全文

posted @ 2020-03-26 12:00 ExplorerMan 阅读(652) 评论(0) 推荐(0)

Golang 无法下载依赖解决方案 unrecognized import path "golang.org/x/net
摘要:golang Modules 依赖管理工具使用:https://blog.csdn.net/weixin_40165163/article/details/90112861 Golang 无法下载依赖解决方案今天本来想写一下爬虫程序的,所以就用到了"github.com/PuerkitoBio/go 阅读全文

posted @ 2020-03-26 11:59 ExplorerMan 阅读(2622) 评论(0) 推荐(0)

supervisor原理及如何使用
摘要:Linux进程管理工具supervisor安装及使用 1. 什么是supervisor superviosr是一个Linux/Unix系统上的进程监控工具,他/她upervisor是一个Python开发的通用的进程管理程序,可以管理和监控Linux上面的进程,能将一个普通的命令行进程变为后台daem 阅读全文

posted @ 2020-03-25 21:15 ExplorerMan 阅读(3216) 评论(0) 推荐(0)

报警插件Alertmanager 安装与使用
摘要:Alertmanager是一个独立的告警模块,接收Prometheus等客户端发来的警报,之后通过分组、删除重复等处理,并将它们通过路由发送给正确的接收器;告警方式可以按照不同的规则发送给不同的模块负责人,Alertmanager支持Email, Slack,等告警方式, 也可以通过webhook接 阅读全文

posted @ 2020-03-25 19:05 ExplorerMan 阅读(946) 评论(0) 推荐(0)

基于BackEnd+InfluxDB+Grafana实现性能指标实时可视监控
摘要:引言 JMeter的PerfMonMetricsCollector插件支持收集服务器的性能指标,ResponseTimesOverTime、TransactionsperSecond插件可以收集接口的性能指标。但前面这些插件使用过程中对执行机的硬件性能消耗非常大,尤其在gui模式下几乎无法正常执行。 阅读全文

posted @ 2020-03-25 17:20 ExplorerMan 阅读(674) 评论(0) 推荐(0)

Prometheus监控系统 安装与配置详细教程
摘要:一、Prometheus是什么 Prometheus中文发音为普罗米修斯,它可以使用各种数学算法实现强大的监控需求,并且原生支持K8S的服务发现,能监控容器的动态变化。结合Grafana绘出漂亮图形,最终使用alertmanager或Grafana实现报警。它与其他监控相比有以下主要优势:数据格式是 阅读全文

posted @ 2020-03-25 16:56 ExplorerMan 阅读(11301) 评论(0) 推荐(0)

Prometheus监控安装及使用(一)
摘要:原理就不多说了,直接上操作过程吧 Prometheus Push Gateway 参考: https://github.com/prometheus/pushgateway Prometheus Server 参考: https://github.com/prometheus/prometheus# 阅读全文

posted @ 2020-03-25 16:49 ExplorerMan 阅读(1011) 评论(0) 推荐(0)

prometheus监控系统概述
摘要:【Prometheus】监控系统概述 </header> 现在开始一个新的系列,【Prometheus】,主要参考《深入浅出Prometheus》,基本为其读书笔记加上部分自己的理解 概览 在本系列中,监控系统特指对数据中心的监控,包括硬件和软件的监控和告警 监控系统的作用: 实时监控。提供硬件和软 阅读全文

posted @ 2020-03-25 16:22 ExplorerMan 阅读(1775) 评论(0) 推荐(0)

Nginx获取自定义头部header的值
摘要:1、nginx是支持读取非nginx标准的用户自定义header的,但是需要在http或者server下开启header的下划线支持: underscores_in_headers on;2、比如我们自定义header为X-Real-IP,通过第二个nginx获取该header时需要这样: $htt 阅读全文

posted @ 2020-03-20 15:20 ExplorerMan 阅读(589) 评论(0) 推荐(0)

nginx通过自定义header属性来转发不同的服务
摘要:一、背景因为需要上线灰度发布,只要nginx接收到头部为: wx_unionid:123456 就会跳转到另外一个url,比如: 127.0.0.1:8080 通过配置nginx 匹配请求头wx_unionid 来转发到灰度环境。核心:客户端自定义的http header,在nginx的配置文件里能 阅读全文

posted @ 2020-03-20 15:14 ExplorerMan 阅读(1031) 评论(0) 推荐(0)

nginx实现根据cookie分流
摘要:0.环境:centos7.2,tomcat8.5*2 ,nginx1.0.13 0-1:起因,由于上线不能影响用户使用,起初使用ip分流,但是有些情况无法获取ip,故查到可以用cookie做分流,这样一来,可以给客户以及测试人员分配角色 ,根据角色设置cookie,再根据cookie实现分流,便可实 阅读全文

posted @ 2020-03-20 15:09 ExplorerMan 阅读(1205) 评论(0) 推荐(0)

Nginx配置之负载均衡、限流、缓存、黑名单和灰度发布
摘要:一、Nginx安装(基于CentOS 6.5) 1.yum命令安装 yum install nginx –y(若不能安装,执行命令yum install epel-release) 2. 启动、停止和重启 service nginx startservice nginx stopservice ng 阅读全文

posted @ 2020-03-20 14:41 ExplorerMan 阅读(327) 评论(0) 推荐(0)

怎么做高并发系统的限流
摘要:在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。本文结合作者的一些经验介绍限流的相关概念、算法和常规的实现方式。 缓存 缓存比较好理解,在大型高并发系统中,如果没有缓存数据库将分分钟被爆,系统也会瞬间瘫痪。使用缓存不单单能够提升系统访问速度、提高并发访问量,也是保护数据库、保护系统的有效 阅读全文

posted @ 2020-03-18 19:09 ExplorerMan 阅读(666) 评论(0) 推荐(0)

(求锤得锤的故事)Redis锁从面试连环炮聊到神仙打架。
摘要:又到了一周一次的分享时间啦,老规矩,还是先荒腔走板的聊聊生活。 有上面的图是读大学的时候,一次自行车骑行途中队友抓拍的我的照片。拍照的地方,名字叫做牛背山,一个名字很 low,实际很美的地方。 那条上山的路很难骑,超级烂路和极度变态的陡坡。真是一种折磨,是对意志力的完全考验。 在我们几近崩溃,弹尽粮 阅读全文

posted @ 2020-03-16 16:08 ExplorerMan 阅读(273) 评论(0) 推荐(1)

Python自动化部署工具-Fabric
摘要:今天分享一个Python的自动化发布工具—Fabric。 我在前面文章「Linux系列开坑记(一)-常用的3个命令」说了tar,rsync,supervisor这三个,从打包上传备份上线,进程管理工具。 我相信细心的读者发现了,但是这里其实还缺一个工具。 那就是衔接这三个步骤的工具,它可以通过SSH 阅读全文

posted @ 2020-03-11 16:39 ExplorerMan 阅读(604) 评论(0) 推荐(0)

Python 远程部署利器 Fabric 模块详解
摘要:阅读目录 简介 入门使用 fabric的命令行参数 常用的对象和方法介绍 fabric中的env fabric提供的命令 fabric的上下文管理器 装饰器 fabric的task fabric的host fabric的role fabric的执行模型 其他装饰器 常用的功能函数 封装task ut 阅读全文

posted @ 2020-03-11 16:22 ExplorerMan 阅读(740) 评论(0) 推荐(0)

beego 注解路由无效问题分析
摘要:问题描述:学习 beego 框架发现注解路由无效,除了不能找到路由外,未见任何异常。 问题解决:将配置文件中的 runmode 更改为 dev 模式。 问题分析: 如果没有设置过 runmode 不会出现上述问题,当将 runmode 更改为非 dev 模式后,更改注解路由将产生上述问题。原因是,b 阅读全文

posted @ 2020-03-06 16:39 ExplorerMan 阅读(785) 评论(0) 推荐(0)

sync.Map实现分析
摘要:golang的SDK中提供线程安全的map实现sync.Map。它是针对RWMutex+map的实现方案中存在cache line的false share提出来的。主要适用于两个场景: 针对一个key一次写多次读。 多个goroutine并发读写修改的key是没有交集。 在这两种情况下,相比一个Mu 阅读全文

posted @ 2020-03-05 18:20 ExplorerMan 阅读(597) 评论(0) 推荐(0)

由浅入深聊聊Golang的sync.Map
摘要:前言 今天在技术群中有小伙伴讨论并发安全的东西,其实之前就有写过map相关文章:由浅入深聊聊Golang的map。但是没有详细说明sync.Map是怎么一回事。 回想了一下,竟然脑中只剩下“两个map、一个只读一个读写,xxxxx”等,关键词。有印象能扯,但是有点乱,还是写一遍简单记录一下吧。 1. 阅读全文

posted @ 2020-03-05 18:14 ExplorerMan 阅读(826) 评论(0) 推荐(0)

Go语言编程:使用条件变量Cond和channel通道实现多个生产者和消费者模型
摘要:如题,使用条件变量Cond和channel通道实现多个生产者和消费者模型。Go语言天生带有C语言的基因,很多东西和C与很像,但是用起来 绝对比C语言方便。今天用Go语言来实现下多消费者和生产者模型。如果对C语言的多生产者和消费者模型感兴趣的可以看Linux系统编程:使用mutex互斥锁和条件变量实现 阅读全文

posted @ 2020-03-04 12:08 ExplorerMan 阅读(604) 评论(0) 推荐(0)

golang 的 channel 实现 生产者/消费者 模型
摘要:package main import ( "fmt" "math/rand" "time" ) func productor(channel chan<- string) { for { channel <- fmt.Sprintf("%v", rand.Float64()) time.Sleep 阅读全文

posted @ 2020-03-04 12:06 ExplorerMan 阅读(607) 评论(0) 推荐(0)

Golang sync.NewCond条件锁的用法
摘要:package main import ( "fmt" "sync" "time" ) func main() { c := sync.NewCond(&sync.Mutex{}) queue := make([]interface{}, 0, 10) removeFromQueue := func 阅读全文

posted @ 2020-03-04 12:05 ExplorerMan 阅读(800) 评论(0) 推荐(0)

golang channel多生产者和多消费者实例
摘要:package main import ( "fmt" "time" ) func consumer(cname string, ch chan int) { //可以循环 for i := range ch 来不断从 channel 接收值,直到它被关闭。 for i := range ch { 阅读全文

posted @ 2020-03-04 12:04 ExplorerMan 阅读(5390) 评论(0) 推荐(0)

Go语言的那些坑
摘要:Golang是我最喜欢的一门语言,它简洁、高效、易学习、开发效率高、还可以编译成机器码… 虽然它一出世,就饱受关注,而且现在在市面上逐渐流行开来,但是,它毕竟是一门新兴语言,还有很多让人不太习惯的地方(即坑,(^__^)),我作为新手,一边学习,一边踩坑,希望对其他人有借鉴作用。 文件名字不要轻易以 阅读全文

posted @ 2020-03-03 12:01 ExplorerMan 阅读(480) 评论(0) 推荐(0)

go语言标准库sync/atomic中的原子操作
摘要:原子操作吧其他同步技术更底层。他们没有锁,基本是在硬件层面实现的。事实上,他们经常被用来实现其他同步技术。 请注意,下面的许多例子并发并发编程。他们仅用于来展示如何使用标准库中的sync/atomic包中的原子函数。 go语言中的原子操作概览 标准库中的sync/atomic对整数类型T(包含int 阅读全文

posted @ 2020-03-02 18:19 ExplorerMan 阅读(509) 评论(0) 推荐(0)

理解 Go 标准库中的 atomic.Value 类型
摘要:在 Go 语言标准库中,sync/atomic包将底层硬件提供的原子操作封装成了 Go 的函数。但这些操作只支持几种基本数据类型,因此为了扩大原子操作的适用范围,Go 语言在 1.4 版本的时候向sync/atomic包中添加了一个新的类型Value。此类型的值相当于一个容器,可以被用来“原子地"存 阅读全文

posted @ 2020-03-02 17:56 ExplorerMan 阅读(1065) 评论(0) 推荐(0)

go-redis 源码分析:连接池
摘要:笔者最近在项目中基于 go-redis 实现 Redis 缓存优化性能。go-redis 是一个 Go 语言实现的 Redis 客户端,既然是网络服务的客户端,为了高效利用有限资源,避免重复创建和销毁网络连接,就必需对其进行管理。而资源管理又是编程领域中的一个重点难点,抱着对是否能利用 Go 语言语 阅读全文

posted @ 2020-03-02 17:33 ExplorerMan 阅读(1782) 评论(0) 推荐(0)

golang 中 sync.Mutex 和 sync.RWMutex
摘要:介绍 golang 中的 sync 包实现了两种锁: Mutex:互斥锁 RWMutex:读写锁,RWMutex 基于 Mutex 实现 Mutex(互斥锁) Mutex 为互斥锁,Lock() 加锁,Unlock() 解锁 在一个 goroutine 获得 Mutex 后,其他 goroutine 阅读全文

posted @ 2020-03-02 17:24 ExplorerMan 阅读(468) 评论(0) 推荐(0)

导航