用python轻松完成一个分布式事务TCC,保姆级教程

什么是分布式事务?银行跨行转账业务是一个典型分布式事务场景,假设A需要跨行转账给B,那么就涉及两个银行的数据,无法通过一个数据库的本地事务保证转账的ACID,只能够通过分布式事务来解决。 分布式事务就是指事务的发起者、资源及资源管理器和事务协调者分别位于分布式系统的不同节点之上。在上述转账的业务中,用户A-100操作和用户B+100操作不是位于同一个节点上。本质上来说,分布式事务就是为了保证在分布式场景下,数据操作的正确执行。 什么是TCC分布式事务,TCC是Try、Confirm、...阅读全文

Go语言中文网 2021-10-24 19:27:05 yedf

go 快速排序TopK leetcode 251

# TopK ## 求第K大数 已知一轮快排可以将一个数组分为两个部分,且两个部分有大小关系,利用这个关系来求解,每一轮快排都能缩小问题的范围, [go快速排序](https://studygolang.com/articles/35264) [go快速排序,非递归](https://studygolang.com/articles/35278) ## CODE ```go func findKthLargest(nums []int, k int) int { ...阅读全文

Go语言中文网 2021-10-21 23:48:52 letterbeezps

Python 注解方式实现缓存数据详解

目录 背景 拿来即用 实践过程 通过装饰器类简化代码 总结 背景 每次加载数据都要重新Load,想通过加入的注解方式开发缓存机制,每次缓存不用写代码了 缺点:目前仅支持一个返回值,虽然能弄成字典,但是已经满足个人需求,没动力改(狗头)。 拿来即用 新建文件 Cache.py class Cache: def __init__(self, cache_path='.', nocache=False): self.cache_path...阅读全文

Go语言中文网 2021-10-19 12:55:04 e31845690mei

Python编程使用matplotlib绘制动态圆锥曲线示例

目录 椭圆 双曲线 抛物线 极坐标方程 作为让高中生心脏骤停的四个字,对于高考之后的人来说可谓刻骨铭心,所以定义不再赘述,直接撸图,其标准方程分别为 在这里插入图片描述 在Python中,绘制动图需要用到matplotlib中的animation包,其调用方法以及接下来要用到的参数为 1 ani = animation.FuncAnimation(fig, func, frames, interval) 其中fig为绘图窗口,func为绘图函数,其返回值为图像,f...阅读全文

Go语言中文网 2021-10-19 12:48:48 e31845690mei

大厂对Golang的要求,请问你所在公司对Golang的要求有哪些?

# 前言 本文致力于统计Golang需要具备的技能点,让广大网友学习Golang指明方向,了解并清楚现在企业,大厂对Golang开发者的要求。 作者经历有限,也希望有更多Golang开发者提出宝贵的内容,丰富并统计企业对Golang的要求,大厂对Golang的要求。 # Go学习地址 [Golang资料补给包(满血战斗),包含文章,书籍,作者论文,理论分析,开源框架,云原生,大佬视频,大厂实战分享ppt](https://github.com/0voice/Introduction-...阅读全文

Go语言中文网 2021-10-14 10:56:46 hanaper

gRPC,爆赞

**原文链接:** [gRPC,爆赞](https://mp.weixin.qq.com/s/1Xbca4Dv0akonAZerrChgA) gRPC 这项技术真是太棒了,接口约束严格,性能还高,在 k8s 和很多微服务框架中都有应用。 作为一名程序员,学就对了。 之前用 Python 写过一些 gRPC 服务,现在准备用 Go 来感受一下原汁原味的 gRPC 程序开发。 本文的特点是直接用代码说话,通过开箱即用的完整代码,来介绍 gRPC 的各种使用方法。 代码已...阅读全文

Go语言中文网 2021-10-12 20:42:28 yongxinz

记录一次线上502排查过程

# 现象 article-go微服务有请求502,之前稀稀拉拉有少量的502(有同学排查过,未果),但是运维同学最近升级了ingress,502变多了。 ![img](https://imeipian.feishu.cn/space/api/box/stream/download/asynccode/?code=ZWRiOWUxZTVjMDgwOWZhMmJiMGQ5YTQzOWZmODEzM2VfQ290dG84bHNOUDA2NTZaM2VtWkVmSFRFVzg1cDFhcDd...阅读全文

Go语言中文网 2021-10-12 17:15:01 nanjingfm

golang —— 未来服务器端编程语言

# Golang知识体系 * 环境安装 * 知识归纳 * 电子书籍 * 精选文章 * 大佬视频 * 开源项目 * 学术论文 * 大会PPT * 云原生 # Golang 资料补给包(满血战斗) 包含文章,书籍,作者论文,理论分析,开源框架,云原生,大佬视频,大厂实战分享 ppt: [https://github.com/0voice/Introduction-to-Golang](https://github.com/0voice/Introduction-to-G...阅读全文

Go语言中文网 2021-10-12 16:15:13 hanaper

深度剖析分布式事务性能

随着微服务的大规模应用,跨微服务的分布式事务也越来越多,那么分布式事务的性能究竟怎么样?性能会下降多少?能否满足业务需求?这些指标关系到分布式事务能否顺利的引入到生产应用,是大家非常关心的问题。 本文尝试深入分析分布式事务带来的额外开销,应用中的哪些因素会影响最终的性能,瓶颈点在哪里,如何提升性能。本文以支持多语言的分布式事务管理器https://github.com/yedf/dtm的saga事务作为性能测试的样本,对性能测试的结果,进行深度剖析。 ## 测试环境 | 机型...阅读全文

Go语言中文网 2021-10-11 06:47:31 yedf

NFT交易平台定制开发|NFT交易平台项目搭建

NFT是数字世界中的一种“独特”z产,可以在现实世界中买√卖和使用来代表商√品,它定义了一种生态中不可分割的、具有唯一性的代必交互和流通的接口规范。 而NFT交Y平台是NFT的基础设施,类似于NFT领域的陶√宝,用户可以在NFT交Y平台贝勾买和出受加密艺术品、游戏道具、金r产品等各种NFT商√品。但是,无论是游戏、艺术作品的NFT交Y平台开√发,还是盲盒、卡牌类的NFT开√发,都需要专业技术成熟的团√队来进行开√发搭建,He~Fei艾数~区块链工页目开√发经验丰富,NFT交Y平台搭建,定制...阅读全文

Go语言中文网 2021-10-07 16:52:50 153o56o1oo3

Go 简单而强大的反向代理(Reverse Proxy)

在本文中,我们将了解反向代理,它的应用场景以及如何在 Golang 中实现它。 反向代理是位于 Web 服务器前面并将客户端(例如 Web 浏览器)的请求转发到 Web 服务器的服务器。它们让你可以控制来自客户端的请求和来自服务器的响应,然后我们可以利用这个特点,可以增加缓存、做一些提高网站的安全性措施等。 在我们深入了解有关反向代理之前,让我们快速看普通代理(也称为正向代理)和反向代理之间的区别。 在**正向代理**中,代理代表原始客户端从另一个网站检索数据。它位于客户端(浏...阅读全文

Go语言中文网 2021-10-06 11:36:19 h1z3y3