链路追踪学习二:Jaeger

JaegerJaeger是一个基于opentracing规范的链路追踪工具,官方地址:https://www.jaegertracing.io/ jaeger架构jaeger分为5个模块,分别为:1:Jaeger-client  jaeger-client即是代码层客户端,我们通过引入sdk,通过调用代码,将数据传输到agent层2:Jaeger-Agent jaeg
阅读全文

idea,phpstorm,goland等顶部菜单少了一个的解决方法

升级goland之后,发现顶部工具栏少了个Tools:以下是解决方案:打开设置:在出错的时候,右上角会有个rest按钮,如果没有,则随便改动一下,比如删除Tools,再reset:然后保存,就可以看到Tools工具栏回来了
阅读全文

链路追踪学习一:OpenTracing

关于Metrics、Tracing和Logging监控(Metrics),链路(Tracing),日志(Logging) 都是用于监测系统在运行时的情况,在这3个领域中都有着不同的解决方案,同时3点也可能会重合在一起进行使用.监控监控指标的定义特征是它们是可聚合的:它们是在一段时间内组成单个逻辑指标、计数器或直方图的原子。通俗来讲就是监控主要记录的是系统一定时间内的指标次数,例如请求次数,失败次数
阅读全文

go的上下文(context)研究

引言go的上下文官方说明有点难懂,可能是我太菜了,经过我自己的研究,总结了一下自己的想法context上下文顾名思义,context用于go代码传输上下文信息,例如在方法调用之间传递参数,传递栈信息等,另外可以通过context进行上下文控制.它的最简单的使用方法为:package main import (    "contex
阅读全文

分布式学习十四:协调任务

分布式协调/通知服务mysql备份数据时,我们会通过读取binlog方式备份,但是如果当从服务器宕机时,则备份就会停止,我们可以通过zookeeper实现分布式协调备份主服务进行备份提交,其他服务监听主服务器状态,如果宕机失去联系,则替代主服务进行工作.实现原理在zookeeper节点结构如下:test └── customBackUp     
阅读全文

go语言的切片研究

切片sliceGo 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。声明切片package main import "fmt" func ma
阅读全文

go语言获取协程id

package main import (    "bytes"    "fmt"    "runtime"    "strconv"   &n
阅读全文

go实现程序运行时间

package main import (    "fmt"    "time" ) type FuncType func() func main() {    time :
阅读全文

分布式学习十三:实现全局唯一id命名

全局唯一id在单体服务中,我们可以通过数据库的自增id去实现唯一id命名,但是在分布式服务中,分库分表之后,就无法直接使用自增id了,数据库只能保证当前表的id唯一,这个时候我们就需要通过其他方式去生成全局唯一id,例如UUIDUUIDuuid通俗来讲,就是针对于 每个机器/机器的线程/当前的时间戳/伪随机数 作为生成凭据,能保证每个机器下的每个线程都会生成不同的id生成的数据大概为一串无规律的数
阅读全文

分布式学习十二:zookeeper实现数据订阅/发布

数据订阅/发布在分布式集群中,假设数据库发生了改动,就得修改所有分布式服务的数据库配置我们可以通过zookeeper来实现数据库配置的订阅发布我们先初始化数据库配置项环境在zookeeper配置以下数据[zk: localhost:2181(CONNECTED) 51] get /config-server/app1/database {"Hos
阅读全文
首页 12345 末页 共 330 条记录
  • 本站由白俊遥博客程序搭建
    © 2017-1-17 php20.cn 版权所有 ICP证:闽ICP备17001387号
  • 本网站由: 提供cdn加速/云存储服务
  • 联系邮箱:1067197739@qq.com