go
文章平均质量分 66
丧心病狂の程序员
不可回收的程序员
展开
-
[Etcd]分布式系统中如何使用乐观锁保证Mysql和Etcd数据最终一致性
在写业务代码时,很多时候需要保证数据存储在不同中间件中的一致性。以笔者为例,就遇到了需要将mysql中已存储的数据转存到etcd中,同时还要考虑到并发场景下如何保证数据最终一致性的问题。从中我们可以分析出,产生这个问题的本质原因是因为服务A1、A2、B1和B2没有共用一块物理内存,这也是微服务拆分的必然结果。原创 2023-03-04 20:22:51 · 1697 阅读 · 1 评论 -
[转] go语言的测试框架—testing
testing模块本文转自:go test命令(Go语言测试命令)完全攻略testing是Go语言自带测试框架。拥有一套单元测试和性能测试系统,仅需要添加很少的代码就可以快速测试一段需求代码。性能测试系统可以给出代码的性能数据,帮助测试者分析性能问题。提示单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般要根据实际情况去判定...转载 2019-07-12 22:00:34 · 631 阅读 · 0 评论 -
boltdb数据库Update代码流程分析
2. bolt数据库Update代码流程分析在bolt的官方文档中,关于创建一个读写事务的描述如下:Read-write transactionsTo start a read-write transaction, you can use the DB.Update() function:err := db.Update(func(tx *bolt.Tx) error { ... re...原创 2019-07-26 21:07:42 · 432 阅读 · 0 评论 -
boltdb数据库db.Opne()代码流程分析
1. boltdb数据库db.Opne()代码流程分析根据bolt db 的官方文档,我们可以看到初始化数据库只需要一行代码。The top-level object in Bolt is a DB. It is represented as a single file on your disk and represents a consistent snapshot of your dat...原创 2019-07-26 21:08:40 · 468 阅读 · 0 评论