首页
学习
活动
专区
工具
TVP
发布

golang算法架构leetcode技术php

专栏作者
495
文章
230025
阅读量
38
订阅数
openresy+nginx-rtmp-module搭建点播直播服务器
一般点播或者直播服务器都是使用nginx-rtmp-module作为服务器,然后使用ffmpeg或者obs来进行推流,客户端使用rtmp、http-flv、hls或者dash协议拉取转码后的数据,进行播放。
golangLeetcode
2024-04-10
1160
不要迷信golang向下兼容
我们从一个奇怪的bug说起。在后台应用有这么一个场景,将数据以xslx格式导出,方便产品运营通过excel来查看数据。golang中,我们常用的包是
golangLeetcode
2023-12-14
1621
不要迷信golang向下兼容
我们从一个奇怪的bug说起。在后台应用有这么一个场景,将数据以xslx格式导出,方便产品运营通过excel来查看数据。golang中,我们常用的包是
golangLeetcode
2023-12-14
2051
seata(6):nacos
seata除了使用文件作为默认的配置中心和服务发现外,还可以使用nacos,我们学习下如何配置:首先启动mysql、nacos、seata,然后copy默认配置进行修改
golangLeetcode
2023-09-23
2200
seata(5):dubbo
接着看下dubbo模式的源码,它的实现和api其实很相似,只不过从单体服务变成了4个微服务,首先看下三个RM的实现,基本没有变化,比如Account
golangLeetcode
2023-09-22
1150
seata(4):dubbo
接下来学习下dubbo的例子,首先还是启动seata和mysql
golangLeetcode
2023-09-21
2270
seata(3):api实例源码
TM的代码位于src/main/java/io/seata/samples/api/Bussiness.java,TM开始执行前,先初始化各个RM
golangLeetcode
2023-09-20
1370
seata(2):db mode
seate-server有三种方式存储事务信息:file、db、redis;在file模式下,它将信息存储在文件/seata-server/sessionStore/root.data里,我们可以去机器上查看下文件的具体内容
golangLeetcode
2023-09-20
3090
seata(1):file mod
从seata的最简单模式file模式开始,学习下seata。开始之前先启动下seata TC,启动脚本如下:
golangLeetcode
2023-09-20
3090
golang源码分析:etcd(19)
etcd的增删改都会增加全局版本号,删除也是软删除,虽然便于回溯修改历史,但是随之带来问题,数据量的膨胀。因此需要进行压缩,也就是compact。假如我们制定压缩版本是v6,那么v6之前的所有已经删除的key会被删除,没有被删除的key保留最新的版本,丢弃之前的修改历史。
golangLeetcode
2023-09-20
1910
golang源码分析:etcd(18)
介绍完一个个函数实现后,我们分析下完整的etcd的读写流程。有没有觉得很奇怪既然bolt是采用b+树存储的持久化存储来存储kv,为什还需要一个Btree结构来存储key的信息?
golangLeetcode
2023-09-20
1260
golang源码分析:etcd(17)mvcc
mvcc目录的server/storage/mvcc/hash.go定义了哈希方法
golangLeetcode
2023-09-20
1790
golang源码分析:etcd(16)
server/storage/backend/backend.go定义了后端存储的核心接口和具体实现,本质上是对boltdb的相关接口的一个封装
golangLeetcode
2023-09-20
1350
golang源码分析:etcd(15)wal
wal的定义位于server/storage/wal/wal.go,它本质上也是一种日志,不过是存在本地,核心属性有日志文件的文件描述符、日志头、日志体、文件锁、和对应的编码器以及解码器。
golangLeetcode
2023-09-20
1240
golang源码分析:etcd(14)
接者看下storage目录的外层几个文件server/storage/backend.go,它其实仅仅对文件server/storage/backend/backend.go里面的接口的一个包装,真正的接口定义和具体实现都在内层。同时又加入了hook。
golangLeetcode
2023-09-20
1520
golang源码分析:etcd(13)
我们来看下lease目录,了解下租约是如何实现的。首先我们还是从server的初始化地方开始:server/etcdserver/server.go,调用了NewLessor来初始化租约管理器
golangLeetcode
2023-09-20
1360
golang源码分析:btree
github.com/google/btree是golang实现的一个平衡多叉树。它是etcd索引使用的树形结构。它使用起来非常简单。
golangLeetcode
2023-09-20
3050
golang源码分析:etcd(12)
etcd后端存储用的是bolt,在分析完server如何初始化raftNode流程后,我们看下后端存储bolt-db的初始化流程。
golangLeetcode
2023-09-20
1530
golang源码分析:etcd(10)
分析完raft算法,回来看etcd server的代码就比较清晰了,我们从入口文件server/main.go开始
golangLeetcode
2023-09-09
1440
golang源码分析:etcd(11)
我们继续在文件 server/etcdserver/server.go 中分析EtcdServer的初始化流程,它会先调用bootstrap函数初始化后端存储bolt-db然后初始化raftNode,最后初始化transport,调用start开始raft协议的网络传输。具体实现如下
golangLeetcode
2023-09-09
1380
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com