MongoDB的模式构建

前言 当涉及MongoDB时,一个经常被问到的问题是“我如何在MongoDB中为我的应用程序构造模式(schema)?”老实说,这要看情况而定

MongoDB的文档模型设计三部曲

三部曲 MongoDB文档模型设计三部曲为基础建模,工况细化,套用设计模式: 基础建模 找到对象:根据概念模型或者业务需求推导出逻辑模型 明确关系:

MongoDB的事务实现解析

Session Session 是 MongoDB 3.6 版本引入的概念,引入这个特性主要就是为实现多文档事务做准备。Session 本质上就是一个「上下文」。 在以前的版本,MongoDB 只

MongoDB的事务机制介绍

前言 MongoDB虽然已经在4.2开始全面支持了多文档事务,但并不代表大家应该毫无节制地使用它。相反,对事务的使用原则应该是:能不用尽量不用

MongoDB的ReadConcern

综述 在读取数据的过程中我们需要关注以下两个问题 从哪里读?关注数据节点位置 什么样的数据可以读?关注数据的隔离性 第一个问题是是由 readPreference 来解決 第二个问

MongoDB的WriteConcern

WriteConcern write Concern 決定一个写操作落到多少个节点上オ算成功。包括以下3个字段: { w: <value>, j: <boolean>, wtimeout: <number> } MongoDB支持的WriteConncern选项如下 w选项

Kingshard集群与监控

如何使用ks+lvs实现完美集群 前言 很多ks的用户会问到ks如何配合LVS做流量切换?ks如何配合keepalived做高可用?ks如何做到

Kingshard管理端介绍

管理端命令 kingshard的管理端口复用了工作端口,通过特定的关键字来标示,目前支持对后端DB常用的管理操作。kingshard支持了多用

Kingshard使用指南

应用场景 现在很多互联网公司还是在大量使用MySQL来存储各种类型的关系型数据。随着访问量和数据量的增长,开发者不得不考虑一些MySQL相关的

Go生成和识别二维码

什么是二维码 二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息。

GoKit使用:结合Gin框架

service.go 1 2 3 4 5 6 7 8 9 10 11 12 13 type Service interface { Status(ctx context.Context) (string, error) } type statusService struct{} func NewService() Service { return statusService{} } func (statusService) Status(ctx context.Context) (string, error) { return "ok", nil } endpoints.go 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 type statusRequest struct{} type statusResponse

GoKit使用:三层架构

架构 基于Go kit的应用程序体系结构包含三个主要组件: Transport Endpoint Service Transport 当您构建基于微服务的分布式系统时,服务通常使用诸如HTTP或gRPC之类的具体

Git撤销操作总结

分支提交错误 有时我们会遇到这种情况:我们从develop 分支新建一个名为feat/home 分支去做A功能,然后由于一些其他原因A 功能需要延后

服务发布策略

软件产品环境 一个软件产品从开发到用户使用都涉及哪些环境? 开发环境、测试环境、回归环境、预发布环境、生产环境。 下面说说我个人对这些环境的理解:

Git工作流:Git-Flow

简介 Gitflow是一个基于feature分支管理的版本发布方案。它是由Vincent Driessen设计研发,开源项目地址gitflow-

Git工作流对比

工作流 WorkFlow 的字面意思,工作流,即工作流程。在分支篇里,有说过这样的话:因为有分支的存在,才构成了多工作流的特色。事实的确如此,因为项目开发中,

Git LFS操作指南

背景 在游戏开发过程中,设计资源占用了很大一部分空间. 像png,psd等文件是二进制(blob)的,体积也很庞大. 但git的diff/patc

Go调试器:GODEBUG

介绍 让 Go 更强大的原因之一莫过于它的 GODEBUG 工具,GODEBUG 的设置可以让 Go 程序在运行时输出调试信息,可以根据你的要求很直观的看到你想要的调度器或