- 博客(12)
- 收藏
- 关注
原创 试用Kafka
zookeeper环境参照《Zookeeper集群环境搭建》1、下载解压kafka在宿主机器内操作$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/1.1.1/kafka_2.11-1.1.1.tgz$ tar xvf kafka_2.11-1.1.1.tgz通过docker volumes将kafka映射到doc...
2018-07-26 16:18:12 244
原创 Go语言第十八课 CGO
可借助CGO实现Go语言对C的调用,下面展示几种调用方式。1、直接嵌套C代码C代码内容如下:#include <stdio.h>#include <stdlib.h>#include <string.h>char* test_hello(const char* name){ const char* hello=" -> hel...
2018-07-23 15:17:29 1293
原创 Qt + CMake开发
Qt添加CMake支持1、下载CMake并解压参考https://cmake.org/download/$ wget https://cmake.org/files/v3.12/cmake-3.12.0-rc3.tar.gz$ tar xvf cmake-3.12.0-rc3.tar.gz2、编译并安装CMake$ cd cmake-3.12.0-rc3/$ ./bootstrap$ mak...
2018-07-16 13:32:27 3103
原创 Zookeeper试用
Zookeeper支持多种客户端1、zkCli客户端脚本:这是一个简易的客户端2、C/Java客户端API:可编程的客户端
2018-07-13 16:57:24 273
原创 Zookeeper集群环境搭建
参考:从Paxos到Zookeeper分布式一致性原理与实践(倪超)1. 安装Java环境我们采用Docker compose构建集群。为了只安装一次Java环境,我们先在宿主OS上安装Java环境,然后映射到Docker容器中。Java安装的具体做法参照《安装OpenJDK1.8》。2.下载解压Zookeeper参照http://zookeeper.apache.org/releases.htm...
2018-07-13 15:57:09 312
原创 集中式架构与分布式架构
参考从Paxos到Zookeeper分布式一致性原理与实践(倪超 著)CouchDB权威指南 (莱诺 译)集中式有中心服务器概念。数据集中存放在单台数据库中,业务系统集中部署在单台服务器上。集中式的最大优点是部署简单。分布式概念:分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此仅仅依靠网络消息进行通信和协调的系统。特点:分布性、对等性、并发性、无全局时钟、随机故...
2018-07-13 10:37:13 3982
原创 Go语言第十七课 Go的单元测试
go test命令1、包目录内,所有以_test.go结尾的文件都不是go build编译的一部分!他们都是go test测试的一部分。2、*_test.go文件中,有三种测试函数:测试函数、基准测试函数、示例测试函数。测试函数:以Test打头的函数,用于测试一些逻辑是否正确,go test命令跑出来的结果是PASS或者FAIL;基准测试函数:以Benchmark打头的函数,同于衡量函数的性能,g...
2018-07-11 16:07:36 295
原创 Go语言第十六课 JSON
type类型转JSON string(编码)Go核心库已经对JSON有比较好的支持,编码部分是由核心库encoding/json支持的。package mainimport ( "encoding/json" "fmt")type persion struct { Name string Age int Gender string School string...
2018-07-09 10:59:02 189
原创 Go语言第十一课 并发(四)select关键字
语法现象select{ case <-ch1 : //消费ch1数据,抛弃数据 case x := <-ch2 : //消费ch2数据,赋给x case ch3 <- y : //向ch3传递数据y default : //默认操作}· 每个case必须包含一个通信操作。当通信操作完成后会执行case对应的语句块。· 如果case中没有任何一个就绪,那么sele...
2018-07-03 10:05:27 292
原创 Go语言第十一课 并发(三)Channel缓存与阻塞
Channel的缓存前面介绍过channel的创建方法:channel_test := make(chan string)其实它完整的写法应该是:channel_test := make(chan string,0)这种容量为0的channel就是无缓存channel。对应地,我们也可以创建有缓存channelchannel_test := make(chan string,1)无缓存channe...
2018-07-02 17:10:49 1256
原创 Go语言第十一课 并发(二)Channel
先明确一个关于内存共享的基本概念:进程:既不共享堆内存,也不共享栈内存线程:共享堆内存,不共享栈内存协程:共享堆内存,也共享栈内存协程间通信——channelchannel类型每一个channel都是一个特殊的类型,例如可传递int类型数据的channel是chan int类型package mainimport ( "fmt" "reflect")func main() { ch...
2018-07-02 16:04:34 239
区块链二十四 对《区块链二十三 Hyperledger Fabric技术 深入研究MSP配置及启动文件》的验证
2018-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人