
📅 2018-03-11
0.Hyperledger Fabric学习笔记目录
#
- Hyperledger Fabric的安装和体验
- 初识Hyperledger Fabric网络节点和交易流程
- Hyperledger Fabric 1.0的架构
- 构建第一个Hyperledger Fabric网络
通过前面学习,已经对Hyperledger Fabric的架构、网络节点、交易流程有了初步的认识,并且快速搭建和体验了一下fabric-samples-1.0.6
中的basic-network
示例。
学习也是一个不断迭代和深入的过程,本篇我们将按照Hyperledger Doc: Building Your First Network,体验fabric-samples-1.0.6
中的first-network
示例。
...📅 2018-03-10
0.Hyperledger Fabric学习笔记目录
#
- Hyperledger Fabric的安装和体验
- 初识Hyperledger Fabric网络节点和交易流程
- Hyperledger Fabric 1.0的架构
- 构建第一个Hyperledger Fabric网络
1.Hyperledger Fabric 1.0的逻辑架构
#
Hyperledger Fabric 1.0的逻辑架构如下:

Hyperledger Fabric 1.0的逻辑架构最上边是面向应用程序的APIs、SDKs和Events,其中:
...📅 2018-03-09
0.Hyperledger Fabric学习笔记目录
#
- Hyperledger Fabric的安装和体验
- 初识Hyperledger Fabric网络节点和交易流程
- Hyperledger Fabric 1.0的架构
- 构建第一个Hyperledger Fabric网络
1.Hyperledger Fabric的节点类型
#
前面我们使用docker-compose
和fabric-samples-1.0.6中的basic-network
示例快速体验了一下fabric。
当时通过docker ps
查看启动了下面几个容器:
1afe407ae5e26 hyperledger/fabric-peer:x86_64-1.0.6 "peer node start" 46 seconds ago Up 45 seconds 0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp peer0.org1.example.com
233639c048aa7 hyperledger/fabric-tools:x86_64-1.0.6 "/bin/bash" 48 seconds ago Up 46 seconds cli
36f1b776e18a4 hyperledger/fabric-orderer:x86_64-1.0.6 "orderer" 48 seconds ago Up 46 seconds 0.0.0.0:7050->7050/tcp orderer.example.com
4ead19674da34 hyperledger/fabric-couchdb:x86_64-1.0.6 "tini -- /docker-ent…" 48 seconds ago Up 46 seconds 4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp couchdb
59117f3913913 hyperledger/fabric-ca:x86_64-1.0.6 "sh -c 'fabric-ca-se…" 48 seconds ago Up 46 seconds 0.0.0.0:7054->7054/tcp ca.example.com
这其中就是Hyperledger Fabric的网络节点。网络节点是区块链通信的主体。这里使用docker-compose
启动的basic-network
示例运行在一台物理机上,实际上会运行在网络中不同的机器上。
...📅 2018-03-07
0.Hyperledger Fabric学习笔记目录
#
- Hyperledger Fabric的安装和体验
- 初识Hyperledger Fabric网络节点和交易流程
- Hyperledger Fabric 1.0的架构
- 构建第一个Hyperledger Fabric网络
Hyperledger(超级账本)是Linux基金会启动的区块链项目,Hyperledger Fabric是Hyperledger中的一个区块链项目。本篇作为个人学习Hyperledger Fabric的开始,将简单安装和体验一下。
...📅 2018-03-02
Jenkins 2.0开始推行Pipeline as Code,实现从CI到CD的转变。
Pipeline实际上是一套Groovy DSL,用Groovy脚本描述CI/CD的流程,Jenkins可以从代码库中获取脚本,实现了Pipeline as Code。Pipeline将原来独立运行的多个任务连接起来,可以实现更加复杂的CI/CD流程。
...📅 2018-02-07
Prometheus提供了一个blackbox_exporter可以实现网络监控,支持http、dns、tcp、icmp等监控。
blackbox_exporter的配置
#
blackbox_exporter
以下面的命令运行:
1blackbox_exporter --web.listen-address=:9115 --config.file=blackbox.yml
其中9115是这个exporter的http端点的监听端口,blackbox.yml是它的配置文件,需要在其中使用blackbox_exporter
的http、dns、tcp、icmp等prober定制配置出各种监测模块(module)。关于blackbox_exporter
的配置具体参考Blackbox exporter configuration和Blackbox exporter configuration Exmaple。下面的例子是一个最基本的配置:
...📅 2018-02-05
问题发现
#
最近测试环境Kubernetes集群的两台主机重启后,发现这两台主机上(CentOS 7.3)的Pod无法删除。
发现这个问题的经过如下:
某个服务的自动发布触发后,监控系统告警有Pod处于Terminated状态,具体去查看发现前面重启过的两台主机上因为服务发布需要被删掉的Pod一直处于Terminated: ExitCode
状态。因为是测试环境,开始没有特别关注,而是直接使用kubectl delete pod <podname> --namespace=<namspacer> --grace-period=0 --force
尝试将有问题Pod强制删除,结果强制删除不起作用。马上觉得问题可能没有那么简单,于是分别登录到这两台主机上通过docker ps -a
查看对应docker容器的状态,发现这两个Pod的docker容器处于Dead状态。使用docker rm <container id>
,提示Device is Busy
,无法删除。
...📅 2018-02-01
HDFS被设计成支持非常大的文件,与HDFS兼容的应用是那些处理大数据集的应用。这些应用程序处理非常大的文件在具有只被创建和写入一次,被读取一次或多次的特性,即HDFS中存储的大文件是一次写入多次读取不支持修改的,同时要求HDFS满足应用程序以流读取速度的要求。
...📅 2018-01-24
Curator是一个用来管理Elasticsearch索引的工具,使用它可以管理需要删除或保留的索引数据。
当Elasticsearch作为ELK、EFK等日志收集方案的日志存储时,删除过期数据以释放存储空间显的格外重要,使用Curator可以删除旧的索引并优化系统。
1.Curator的功能
#
使用Curator可以完成以下功能:
- 为别名(Alias)添加或移除索引
- 创建索引
- 删除索引
- 关闭索引
- 删除快照
- 打开已经关闭的索引
- 更改分片路由配置
- 强制合并索引
- 重建索引(包括从远程的集群)
- 更改索引每个分片的副本数量
- 为索引创建快照
- 从快照还原
- rollover indices(当某个别名指向的实际索引过大的时候,自动将别名指向下一个实际索引)
2.安装Curator
#
安装Curator十分简单,可以通过python pip工具来完成。
...📅 2018-01-12
Istio中的官方文档中对Istio的架构做了介绍。下图是文档中的Istio架构示意图:

Istio在逻辑上分为数据平面(data plane)和控制平面(control plane)两块。
控制平面
#
控制平面对Service Mesh具有强大的控制力。Istio的控制平面由包括以下组件:
Pilot(领航员)
:为envoy sidecar提供服务发现,为流量管理功能实现了灵活的路由(如A/B测试,金丝雀发布)和弹性(如:超时,重试,熔断等)。它将高级别的路由规则转换为envoy特定的配置并在运行时将配置传播到sidecar中。Mixer(混合器)
:Mixer是一个平台独立的组件,它的职责是在ServiceMesh上实施访问控制和使用策略(usage policies),并从envoy代理和其它服务中收集自动测量数据。Istio-Auth
:使用强大的健服务之间以及服务和终端用户间的认证。可以将ServiceMesh中未加密的流量升级,并为运维人员提供基于服务标识而非网络控制的策略管理能力。
数据平面
#
Envoy是Istio的数据平面。Envoy早已经是CNCF的ServiceMesh项目之一,功能强大和稳定。Envoy适合使用sidecar模式部署为服务的Proxy。Envoy使用C++开发在性能和资源消耗上优于CNCF的另一个ServiceMesh项目linkerd。Envoy接管服务网格中所有服务的进出流量。Istio实际上利用了很多Envoy已有的特性,例如:服务的动态发现、负载均衡、TSL终止、HTTP/2和gRPC代理、断路器、健康检查、流量拆分、故障注入以及丰富的度量指标。
...