微服务知识图谱,微服务组件图,微服务结构图 ![微服务知识图谱](https://360us.net/images/2022/202208242357.png)...
 发布日期: 2022-08-25    分类: 后端   浏览量: 793
种子链接文件列表:Cover.jpg 237.3 kB01. Intro.flac 5.8 MB02. 最伟大的作品.flac 50.5 MB03. 还在流浪.flac 55.9 MB04. 说好不哭.flac 44.0 MB05. 红颜如霜.flac 53.0 MB06. 不爱我就拉倒.flac 52.4 MB07. Mojito.flac 39.8 MB08. 错过的烟火.flac 56.8 MB09. 等你下课.flac 58.0 MB10. 粉色海洋.flac 40.5 MB11. 倒影.flac 50.5 MB12. 我是如此相信.flac 56.6 MB  更多内容请查看:https://2048tb.com/...
 发布日期: 2022-07-18    分类: 其他   浏览量: 2682
副本集群是一组维护相同数据集的mongod实例。一个副本集包含几个承载数据的节点和一个可选的仲裁节点。在承载数据的节点中,只有一个节点被认为是主节点,其他节点被认为是次节点。 主节点接收所有的写操作,次节点接收主节点的操作应用在自己的数据集上,副本节点只是做一个备份的作用,当主节点出现故障时,会自动选出新的主节点。 ![结构图](https://www.mongodb.com/docs/manual/images/replica-set-read-write-operations-primary.bakedsvg.svg) ![故障转移](https://www.mongodb.com/docs/manual/images/replica-set-trigger-election.bakedsvg.svg) 本教程描述的是包含三个节点的副本集群搭建,所有节点都没有开启访问控制。 因为集群需要通过选举来确定master节点,为了选举不会出现问题,所以集群成员数量应该总是奇数个。 MongoDb版本是`5.0`。 ### 1、启动成员节点 测...
 发布日期: 2022-05-18    分类: 数据库   浏览量: 1411
使用Drone搭建持续集成系统 - 持续集成:自动化的测试、编译打包并且自动部署到开发或者测试环境 - 持续交付:自动化的测试、编译打包生产环境的包,但是不做自动化的生产环境部署,需要手动来做 - 持续部署:和持续交付的区别就是生产环境的部署也是自动化的。 Drone持续集成系统主要有两部分组成: - Drone服务器:这个是用来管理的一个UI界面 - runner:这个是用来执行构建动作的服务 仓库以国内的Gitee为例子。Drone版本是2。 ### 1、创建仓库访问应用 在自己的Gitee后台创建一个可以访问自己仓库的应用,位置在`个人设置-数据管理-第三方应用`。 ![gitee_oauth](https://360us.net/images/2022/gitee_token_create.png) Gihub和Gitlab也是类似的,创建一个`OAuth`的应用,方便可以通过这个密钥访问我们的仓库。 ![create](https://360us.net/images/2022/github_application_...
 发布日期: 2022-04-27    分类: 后端   浏览量: 1423
### 概述 复制即主从(master-replica),读写分离。 **运行机制:** 1、主副本连接良好的情况下,主节点会把所有改动通过发送命令流的方式同步到副本节点。 包括客户端写,key过期或者淘汰,和其他在主节点的改动。 2、连接出现问题时,副本节点会尝试重新连接,并且会尝试重新同步连接异常期间丢失的数据。 3、如果同步丢失的数据失败,副本会要求同步完整数据,这个就需要主节点快照整个数据集,再发送到副本节点,之后才会接着正常同步。 默认使用低延时高性能的异步复制模式,适用于大多数Redis用例。副本实例会用异步ACK的方式把自己收到的数据量通告给主节点,所以主节点不需要等待副本节点执行完命令。 客户端可以用`WAIT`命令请求对数据进行同步复制,但是`WAIT`只能确认指定数量的ACK确认复制。 **关于redis复制的说明:** 1、redis使用异步复制(也可以同步复制),副主(replica-to-master)之间会异步确认(ack)处理的数据量。 2、一个主可以有多个副。 3、...
 发布日期: 2022-04-19    分类: 数据库   浏览量: 1136
Gin模型数据绑定验证器用的是go-playground/validator/v10。默认提示是英文内容,我们需要翻译成中文内容。 创建一个文件`validator.go`: ```go package utils import ( "github.com/gin-gonic/gin/binding" "github.com/go-playground/locales/en" "github.com/go-playground/locales/zh" ut "github.com/go-playground/universal-translator" "github.com/go-playground/validator/v10" zhtranslations "github.com/go-playground/validator/v10/translations/zh" "log" ) var trans ut.Translator //设置验证器中文翻译 func init() { if trans != nil { ...
 发布日期: 2021-12-08    分类: Go   浏览量: 1842
安全和活性失效保障按照我们的思路和设计方案,算法只需具备3个特性就可以实现一个最低保障的分布式锁。安全属性(Safety property): 独享(相互排斥)。在任意一个时刻,只有一个客户端持有锁。活性A(Liveness property A): 无死锁。即便持有锁的客户端崩溃(crashed)或者网络被分裂(gets partitioned),锁仍然可以被获取。活性B(Liveness property B): 容错。 只要大部分Redis节点都活着,客户端就可以获取和释放锁.为什么基于故障转移的实现还不够为了更好的理解我们想要改进的方面,我们先分析一下当前大多数基于Redis的分布式锁现状和实现方法.实现Redis分布式锁的最简单的方法就是在Redis中创建一个key,这个key有一个失效时间(TTL),以保证锁最终会被自动释放掉(这个对应特性2)。当客户端释放资源(解锁)的时候,会删除掉这个key。从表面上看,似乎效果还不错,但是这里有一个问题:这个架构中存在一个严重的单点失败问题。如果Redis挂了怎么办?你可能会说,可以通过增加一个slave节点解决这个问题。但这通常是行...
 发布日期: 2021-12-07    分类: 数据库   浏览量: 1289
ElasticSearch分组聚合分页 ====== 类似SQL里面`group by`后分页输出列表。 这里需要分成两个步骤,一个是计算总数,第二个是输出列表。 ### 数据场景: 展示一个车主列表,输入关键字,可以通过车主的姓名、车辆的车牌来搜索出对应的车主数据列表。 添加一个车辆索引:`car`,里面包括车主姓名:`name`,车主id:`uid`,车牌:`car_no` 因为车主和车辆是一对多的关系,所以我们在车辆索引里面搜索车主的时候需要对uid去重,这里就用到了聚合。 ### 计算聚合桶的个数 方法就是用`cardinality`聚合和`sum_bucket`聚合结合起来计算。 ```json { "size": 0, "query": { "bool": { //这里用前缀搜索name和car_no "should": [ { "prefix": { "name": "113566" } }, { "...
 发布日期: 2020-10-28    分类: 数据库   浏览量: 3959
JetBrains IntelliJ IDEA 最新激活码 适用于JetBrains家族所有ide,包括IntelliJ IDEA ,PhpStorm,WebStorm,GoLand,PyCharm,DataGrip等 有人搭建了网站:https://jetbra.in/s 下载顶部提示的文件: ja-netfilter-all.zip,按照说明使用。 ja-netfilter-all.zip 下载提示的下面一行是一些收集的授权服务器。 ...
 发布日期: 2020-09-28    分类: 其他   浏览量: 4577
go从1.11版本开始,实验性的加入了`WebAssembly`的支持。 ## `hellow world`程序 ```go package main import "fmt" func main() { fmt.Println("Hello, WebAssembly!") } ``` 设置go编译`WebAssembly`环境变量值,`GOOS=js`和`GOARCH=wasm`。 设置方法有两种: - 修改默认变量值,执行命令:`go env -w GOOS=js GOARCH=wasm` - 编译的时候指定值:`cd`到项目根目录,执行命令:`GOOS=js GOARCH=wasm go build -o main.wasm` 这时将生成一个`main.wasm`文件,`.wasm`后缀的文件可以通过`http`设置合适的`Content-Type`http头来使用。 需要注意的一点是,只能编译`main`包,否则是不能在`WebAssembly`里面使用的。 **在浏览器里面运行`main.wasm`** ...
 发布日期: 2020-01-09    分类: Go   浏览量: 3824