链路追踪学习一: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
阅读全文

分布式学习十一:搭建zookeeper集群

单机部署之前发过一个单机部署教程,集群部署类似,这次我们通过docker-compse进行编排部署http://www.php20.cn/article/sw/z/317 单机安装制作docker镜像由于centos8停止维护了,这次我们选择Ubuntu,新建dockerfile文件:FROM ubuntu ARG ZK_VERSION=3.8.0 WORKD
阅读全文

分布式学习十:ZAB协议

ZAB协议ZAB 协议是为分布式协调服务ZooKeeper专门设计的一种支持崩溃恢复的原子广播协议。ZAB协议的开发设计人员在协议设计之初并没有要求其具有很好的扩展性,最初只 是为雅虎公司内部那些高吞吐量、低延迟、健壮、简单的分布式系统场景设计的。在 ZooKeeper的官方文档中也指出, ZAB协议并不像Paxos算法那样,是一种通用的分布式一致性算法,它是一种特别为ZooKeeper设计的崩溃
阅读全文
首页 34567 末页 共 347 条记录
  • 本站由白俊遥博客程序搭建
    © 2017-1-17 php20.cn 版权所有 ICP证:闽ICP备17001387号
  • 本网站由: 提供cdn加速/云存储服务
  • 联系邮箱:1067197739@qq.com